|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Andrew Evdokimov 2:5020/767.3 17 Feb 2001 00:49:10 To : vitus@ice.ru Subject : Re^2: mySQL и его SQL-язык -------------------------------------------------------------------------------- 14 февраля 2001, 19:53 vitus@ice.ru >щ>щ>щ>щ>щ> Andrew Evdokimov: SP>>> почему не pаботают в mySQL'е вложенные запpосы? SP>>> вместо вложенных запpосов пpедлагается (в одном manual'е по msSQL) SP>>> : SP>>> select table1.* from table1, table2 where table1.number=table2.num SP>>> но этот запpос пpосто сpавнивает каждую запись со всей базой, а SP>>> этого мне не нужно! как добиться подобного: select * from table1 SP>>> where number in (select * from table 2) на mySQL ??? AE>> ИМХО, тот вариант, который ты хочешь получить, работает медленнее... Или AE>> я не прав? v> Hе факт. Практика работы с разными SQL-серверами показала, что одна и та v> же пара эквивалентных запросов с вложенным запросом и с join по разному v> работает на разных sql-энджинах. v> Т.е. в свое время картина была такая v> FoxPro - быстрее работал вложенный подзапрос, а join слетал по v> переполнеию диска v> Oracle - быстрее join v> PostgreSQL - быстрее вложенный подзапрос. Гы, вспомнил тут случай из собственной недавней практики с MSSQL - путем перехода от вложенного подзапроса к join получил снижение времени выполнения запроса с 21 минуты до 6 секунд (210 раз !). Во как. А ты гришь... Правда, при этом сильно поменялась структура запроса, из одного очень длинного, но красивого select'а получилось 6 маленьких (относительно) и 5 временных таблиц. Это к вопросу о красоте и пользе подхода к проблеме с другой точки зрения. Phasing your mind, -=[InternetMedia Holding] Andrew "elahi" Evdokimov -=[www.boomerang.ru] --- -=elahi@internetmedia.ru=- --- * Origin: It's so FUCKING GREAT to be alive ! (Zappa) (2:5020/767.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/151353a8dbe0f.html, оценка из 5, голосов 10
|