Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:50 14.06.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: за какво? [re: Topбaлaн]
Автор salle (минаващ)
Публикувано25.02.03 13:26  



Това което твърдя, е че ако една заявка може да бъде написанана по два начина със и без вложени SELECT то първия начин в общия случай (почти винаги) ще е по-бърз.

Пример
select t1.id from t1 where id in (select id from t2);

select t1.id from t1, t2 where t1.id = t2.id;


Двете заявки връщат идентичен резултат. Само, че при първата Сървъра трябва да направи следното:

select id from t2;

т.е. да избере стойностите на id за всички редове от таблилца t2
да ги запомни в някаква временна таблица и след това да сравнява стойностите от t1 с тези от временната таблица.
Колкото и да е хитър оптимизатора просто в този случай има да свърши повече работа отколкото при Join-а във втората заявка където може да претърси за съвпадащи стойности във Индексите на двете таблици (предполагайки, че ID са индексирани и в двете)

Да не говорим за вложени заявки, които се обръщат към "обвиващата" заявка - там много лесно можеш да накараш сървръа за таблици
t1 -> 1M реда
t2 -> 10 000 реда

да изпълни по 1 заявка върху t2 за всеки ред от t1 - т.е. 1 милион + 1 заявки върху талбица t2

вместо JOIN, който "закача" t2 само веднъж.

Изобщо не случайно в доста книги за SQL съветват да се избягват всякакви вложени заявки освен когато няма друг начин да се реши проблема.

Тъй, че това е моето твърдение - за идентичен резултат решението с вложени заявки е по-бавно на всеки сървър. Понякога драстично по-бавно.

Демонстрирай ми поне един пример къдетопри дДОБРЕ ОБМИСЛЕНИ ИНДЕКСИ и ДОБРЕ ОПТИМИЗИРАН SQL с вложени заявки работи по-бързо от ДОБРЕ ОПТИМИЗИРАН SQL без вложени заявки като и двата връщат идентичен резултат.

Подчертавам оптимизацията защото винаги можеш да направиш контрапример от рода на "да ама когато в таблиците няма никакви индекси ...."



Цялата тема
ТемаАвторПубликувано
* Pitane System   24.02.03 11:45
. * Re: Pitane baj L\bo   24.02.03 18:28
. * Wapros svarzan s relaciite s_dimi   27.02.03 10:11
. * Re: Wapros svarzan s relaciite бaй Любo   27.02.03 16:37
. * Re: Wapros svarzan s relaciite s_dimi   27.02.03 21:22
. * Re: Pitane Pavel   24.02.03 19:56
. * Re: Павеле...къде четеш? salle   25.02.03 01:22
. * Re: Pitane salle   24.02.03 23:50
. * тук пак може да заспорим.... Topбaлaн   25.02.03 08:55
. * Re: за какво? salle   25.02.03 13:26
. * Колко е хитър оптимизатора Бaй Любo   25.02.03 17:23
. * Re: Колко е хитър оптимизатора phpGuru   26.02.03 11:48
. * Re: за какво? RepeatableRead   25.02.03 17:45
. * Re: а защо не знаеш? :) salle   26.02.03 00:25
. * Re: тук пак може да заспорим.... phpGuru   25.02.03 15:35
. * Re: Pitane System   25.02.03 09:33
. * Re: Pitane NDeu   25.02.03 11:07
. * Re: Pitane salle   25.02.03 12:27
. * Re: Pitane salle   25.02.03 12:36
. * Re: Pitane System   25.02.03 13:09
. * Re: Pitane salle   25.02.03 13:35
. * Re: Pitane phpGuru   25.02.03 15:41
. * MS SQL SerVer TM baj L\bo   25.02.03 19:26
. * Re: MS SQL SerVer TM salle   26.02.03 00:14
. * Re: MS SQL SerVer TM baj L\bo   26.02.03 00:38
. * Re: MS SQL SerVer TM salle   26.02.03 00:51
. * Re: MS SQL SerVer TM phpGuru   26.02.03 11:52
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.