|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Dmitry Novikov 2:5020/400 06 Mar 2001 16:42:13 To : All Subject : Re: MySQL -------------------------------------------------------------------------------- Всем привет! Ilya Zvyagin пишет в сообщении <983871718.691872@gatekeeper.fct.ru> ... >Ты все правильно говоришь, но делаешь неправильные выводы. >Это все проблемы конкретного сервера и его оптимизатора. Какие неправильные выводы я сделал? Я высказался про сервер, с которым работаю. И все. Hикаких глобальных выводов я не делал. Поскольку изначально разговор шел вообще про версию MySQL, не признающую подзапросов (а есть признающие?), экстраполировать мой вывод на все возможные сервера не стоит. >Hо не SQL- я вообще. Хехе :)) Говорить, что лучше с точки зрения SQLя вообще -- это достаточно бесполезное занятие, ибо именно конкретная реализация сервера определяет быстродействие тех или иных механизмов. Именно поэтому я и сослался на мои наблюдения за MS SQL 6.5 >Во многих случаях IN & EXISTS эквивалентны, во многих - IN быстрее, так >как аналогичный EXISTS будет с коррелированным подзапросом, а подзапрос >в IN будет выполняться ТОЛЬКО ОДИH РАЗ. Как знать... Ты предлагаешь ему создать временную таблицу, запихать в нее результаты подзапроса и строить объединение? Это слишком в лоб. Оптимизатор хоть и не идеальный, но все-таки... Разглядывание плана запроса показывает, что все равно юзается exists. >Hо, естественно, все зависит , как говориться... Вот именно зависит. В свою очередь, еще раз отмечу, что на MS SQL 6.5 я ни разу не видел, чтобы вариант с IN работал быстрее варианта с EXISTS, несмотря на коррелированный подзапрос в последнем. С наилучшими пожеланиями, Дмитрий dim@rnivc.kis.ru --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/65771b5e35d7.html, оценка из 5, голосов 10
|