Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Я в субасю пришел недавно. Проанализировав имеющиеся ;) SP, обнаружил, что старшие товарисчи активно юзают временные таблицы для подготовки выборок, где можно обойтись, IMHO, всего лишЪ одним select'ом с парой-тройкой join'ов. Т.е.: создается временная таблица в которой все необходимые поля из всех таблиц выборки, в нее делается select из первой таблицы выборки, потом она update'ться select'ом из второй таблицы выборки, далее update'ться select'ом из третьей таблицы выборки и т.д. пока не закончаться таблицы. Аргументируется это так: субася, по крайней мере, большая (как они называют ASE), с которой я работаю, пльохо переваривает select'ы с join'ами на больших выборках (обЪемах данных). От их обилия у нее кружиться гольова, она входит в ступпор и ложиться. А, вот, с временными таблицами все бегает на ура. Эт в самом деле так или это досужие субЪективные заметки? Я, конечно, понимаю, что select select'у рознь. Можно и простым, но рожденным ректально, запросом отправить сервак в down. Тут как бы концептуальный вопрос (типа: "...если слон и вдруг на кита налезет, кто кого сборет?.." ;) ). Тем паче, что субасю нам позиционировали как одну из самых шустрых СУБД. Особенно на больших обЪемах данных. select @@version Adaptive Server Enterprise/12.5.1/EBF 11428/P/NT (IX86)/OS 4.0/ase1251/1823/32-bit/OPT/Wed Sep 17 11:10:54 2003 _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 12:41 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Пользователю все равно как написан запрос. Его прежде всего волнует скорость реакции системы (время отклика) Ну а "эстетика" написания запроса и главное его быстродействие - за разработчиком. Использование # таблиц в некоторой степени нарушают "красоту" написания запроса. Но если при их использовании повышается производительность конкретного запроса (по сравнению с JOIN)- почему бы не работать с ними. Все зависит от конкретного запроса (использование индексов, кол-ва таблиц в запросе, их объема и даже иногда от порядка следования в условии from [set forceplan]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 13:16 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Ex_Soft wrote: > Аргументируется это так: субася, по крайней мере, большая (как они > называют ASE), с которой я работаю, пльохо переваривает select'ы с > join'ами на больших выборках (обЪемах данных). От их обилия у нее > кружиться гольова, она входит в ступпор и ложиться. А, вот, с временными > таблицами все бегает на ура. > Эт в самом деле так или это досужие субЪективные заметки? (Вылезая из окопа) Вопрос, конечно, интересный . Я немного имел дело с ASE на траверзе 11.5...11.9.2 - и в них оптимизатор был глупее фонарного столба (а с Fullscan-ом, который он любил больше, чем мой кот сосиски, дело обстояло ещё хуже). Поэтому тактика разбиения сложных запросов на много простых имела смысл - у простых запросов и планы попроще. Впрочем, и на ASA я так иногда поступаю, когда мне лень думать, как же составить сложный запрос, делающий то, что мне надо (оправдывая это обычно тем, что несколько простых запросов понять легче, чем один сложный ). Естессно, я прекрасно понимаю, что моё впечатление об ASE сильно устарело, и буду рад послушать более свежие впечатления ;). (Залезая обратно в окоп) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 13:17 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
внимание, появился лазутчик! особые приметы: каска! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 13:20 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Эт все понятно... Но хотелось бы, все-таки, получить аднозначный атвет: "...если слон и вдруг на кита налезет, кто кого сборет?.." ;) Т.е., в общем случае,: применение #таблиц эффективнее select'ов с join'ами или нЭт (в ASE)? _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 13:21 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Рыжий Котвнимание, появился лазутчик! особые приметы: каска! Вам - сюда _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 13:30 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Ex_Soft wrote: > Вам - сюда <http://www.sql.ru/forum/actualtopics.aspx?bid=16> Ну, может, человеку просто поговорить не с кем, а Вы его сразу... :) > Эт все понятно... Но хотелось бы, все-таки, получить аднозначный атвет: > "...если слон и вдруг на кита налезет, кто кого сборет?.." ;) А где будем налезать - на суще или в воде ;)? > Т.е., в общем случае,: применение #таблиц эффективнее select'ов с > join'ами или нЭт (в ASE)? В общем случае нужно смотреть конкретную ситуацию . Впрочем, это моё ИМХО, не претендующее на звание абсолютной истины. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 15:57 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Dim2000я так иногда поступаю, когда мне лень думать, как же составить сложный запрос, делающий то, что мне надо (оправдывая это обычно тем, что несколько простых запросов понять легче, чем один сложный ). Это кстати, очень и очень серьезный плюс в сторону использования временных таблиц. Лично я стараюсь не делать соединения более двух-трех таблиц в одном запросе. Хотя если сложный запрос сумеет уложиться в оптимизаторе - почему бы и нет? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 18:01 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Ex_SoftЯ в субасю пришел недавно. Проанализировав имеющиеся ;) SP, обнаружил, что старшие товарисчи активно юзают временные таблицы для подготовки выборок, где можно обойтись, IMHO, всего лишЪ одним select'ом с парой-тройкой join'ов. Можно только посочувствовать. Не умели они видимо запросы писать. Ex_Soft Аргументируется это так: субася, по крайней мере, большая (как они называют ASE), с которой я работаю, пльохо переваривает select'ы с join'ами на больших выборках (обЪемах данных). От их обилия у нее кружиться гольова, она входит в ступпор и ложиться. А, вот, с временными таблицами все бегает на ура. Бред полный. Просто товарищи не умеют писать и оптимизировать запросы. Нет, ну ты должен же понимать, (рас уж тебя возмущает их стиль написания процедур) что какая-то доля правды в их подходе есть, когда ты разбиваеш один здоровый запрос на несколько со временными таблицами, оптимизатору конечно же становиться легче оптимизировать такие запросы, вернее, в разбитом на куски запросе у него остается меньше выбора - логика выборки уже частично диктуется процедурной логикой процедуры, т.е. часть логики запроса переведена на процедурный язык. Но вот чтобы писать так все запросы, заменяя оптимизатор -- это уж никак неправильно, да и не нужно. И, главное - так как правило (хотя не факт) увеличивается IO на запись и посл. чтение промежуточных временных таблиц. Ex_Soft Эт в самом деле так или это досужие субЪективные заметки? ... вопрос (типа: "...если слон и вдруг на кита налезет, кто кого сборет?.." ;) ). Тем паче, что субасю нам позиционировали как одну из самых шустрых СУБД. Особенно на больших обЪемах данных. ASE - нормальная промышленная СУБД. Я не могу сказать, что она там типа "круче всех остальных в сто раз". Для этого нужно иметь какие-то доводы, результаты сравнений и прочее. Да и думаю в условиях конкурентной борьбы за рынок все СУБД примерно держаться в одном строю по возможностям. Ну и могу сказать точно из своего личного опыта, что реальные запросы с JOIN-ами 10-20 таблиц на таблицах по несколько миллионов каждая нормально работают в ASE (можно сказать - "летают"). Но это конечно при условии наличия в запросе нормальных селективных SARG-ов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 00:04 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Dim2000 Вопрос, конечно, интересный . Я немного имел дело с ASE на траверзе 11.5...11.9.2 - и в них оптимизатор был глупее фонарного столба (а с Fullscan-ом, который он любил больше, чем мой кот сосиски, дело обстояло ещё хуже). О! Вот -- типичная "байка" человека (как я подозреваю) не понимающего, как и зачем работает оптимизатор и не желающего понимать его. Я думаю, информация не сильно устарела, поскольку очень кардинально оптимизатор со времен 11.9 не менялся. Он конечно менялся, но не так кардинально, чтобы вы бы это почувствовали. Там просто особенно нечему меняться. В общем, тут можно наверное долго спорить, хороший оптимизатор или плохой, я - не буду. Спать хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 00:13 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
White Owl Это кстати, очень и очень серьезный плюс в сторону использования временных таблиц. Лично я стараюсь не делать соединения более двух-трех таблиц в одном запросе. Сознательно на этапе создания запроса ограничивать себя в количестве таблиц в запросе - это полный бред. Я не знаю, конечно, как ведет себя ASA, но в ASE это просто не нужно. White Owl Хотя если сложный запрос сумеет уложиться в оптимизаторе - почему бы и нет? :) Вот именно. А если запрос имеет четкие критерии выборки, он гарантированно "уложиться". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 00:18 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
MasterZivСознательно на этапе создания запроса ограничивать себя в количестве таблиц в запросе - это полный бред. Я не знаю, конечно, как ведет себя ASA, но в ASE это просто не нужно. Ты не понял. Дело не столько в "думании за оптимизатор" сколько в читабельности запроса. Если запрос не умещается на одном экране текстового редактора - я его стараюсь разрезать на два, даже если это и не особо нужно с точки зрения оптимизации :) Исключительно с точки зрения читабельности. Разница по скорости выполнения будет незначительной (если конечно все нужные индексы на месте) а поиск ошибки и последующая правка упростится намного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 00:25 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Ex_SoftЯ в субасю пришел недавно. Проанализировав имеющиеся ;) SP, обнаружил, что старшие товарисчи активно юзают временные таблицы для подготовки выборок, где можно обойтись, IMHO, всего лишЪ одним select'ом с парой-тройкой join'ов. Т.е.: создается временная таблица в которой все необходимые поля из всех таблиц выборки, в нее делается select из первой таблицы выборки, потом она update'ться select'ом из второй таблицы выборки, далее update'ться select'ом из третьей таблицы выборки и т.д. пока не закончаться таблицы. Аргументируется это так: субася, по крайней мере, большая (как они называют ASE), с которой я работаю, пльохо переваривает select'ы с join'ами на больших выборках (обЪемах данных). От их обилия у нее кружиться гольова, она входит в ступпор и ложиться. А, вот, с временными таблицами все бегает на ура. Эт в самом деле так или это досужие субЪективные заметки? Я, конечно, понимаю, что select select'у рознь. Можно и простым, но рожденным ректально, запросом отправить сервак в down. Тут как бы концептуальный вопрос (типа: "...если слон и вдруг на кита налезет, кто кого сборет?.." ;) ). Тем паче, что субасю нам позиционировали как одну из самых шустрых СУБД. Особенно на больших обЪемах данных. select @@version Adaptive Server Enterprise/12.5.1/EBF 11428/P/NT (IX86)/OS 4.0/ase1251/1823/32-bit/OPT/Wed Sep 17 11:10:54 2003 Рекомендую писать вопросы нормальным языком, а не тарабарским _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 09:18 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
vinpgradovРекомендую писать вопросы нормальным языком, а не тарабарскимА что тут Вам не понятно? BTW, судя по довольно таки оживленному обсуждению - все все поняли. _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 12:00 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: > О! Вот -- типичная "байка" человека (как я подозреваю) не понимающего, > как и зачем работает оптимизатор и не желающего понимать его. Оптимизатор ASA я понимаю. А вот ASE - нет. Например, я не понимаю, почему запрос типа select * from dba.t1 where f2 = 12345; выполняется FullScan-ом, если по полю f2 есть индекс с весьма неплохой селективностью (не более 3 записей из 100000). Конечно, если написать select * from dba.t1 (index ix_f2) where f2 = 12345; то индекс начинает использоваться, но очень хочется прописать "оптимизатору" таблеток от дебильности . Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2005, 14:26 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: > Сознательно на этапе создания запроса ограничивать себя в количестве > таблиц в запросе - это полный бред. Я не знаю, конечно, как ведет себя > ASA, но в ASE это просто не нужно. Для ASA это не нужно, а вот совет ограничивать количество таблиц в запросе для ASE я слышал, причём от людей с весьма приличным опытом использования ASE. Да и сам видел, что делают с ASE 11.9.2 запросы, которые для SA 5.5 никакой сложности не составляли. > Вот именно. А если запрос имеет четкие критерии выборки, он > гарантированно "уложиться". А что есть "чёткие"? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2005, 14:29 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
White OwlТы не понял. Дело не столько в "думании за оптимизатор" сколько в читабельности запроса. Если запрос не умещается на одном экране текстового редактора - я его стараюсь разрезать на два, даже если это и не особо нужно с точки зрения оптимизации :) Исключительно с точки зрения читабельности. Тут сложно. Из простых способов повышения читаемости могу предложить написать нужные VIEW. Но делать это надо аккуратно, ничего кроме JOIN-ов и фильтраций нельзя туда запихивать. А вообще я уже давно понял, что (увы) SQL - не язык для создания читаемых и модульных программ. Так что достигать там читаемости можно разве что в том смысле, что не создавать лишней нечитаемости. Пробелы там , отступы и пр. А больше - увы, нельзя. Я это в том смысле, что если мне предложат два варианта запроса - медленно работающий и нечитаемый - я выберу нечитаемый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2005, 20:59 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
запросе для ASE я слышал, причём от людей с весьма приличным опытом использования ASE. Да и сам видел, что делают с ASE 11.9.2 запросы, которые для SA 5.5 никакой сложности не составляли. Это были ламера от ASE. :)) Не, кроме шуток, я имею очень приличный опыт общения с ASE, но я бы ни за что не давал такие прямолинейные советы (кстати не только об ASE). Потому что на самом деле все зависит от конкретных запросов очень сильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2005, 21:02 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
MasterZivА вообще я уже давно понял, что (увы) SQL - не язык для создания читаемых и модульных программ. Так что достигать там читаемости можно разве что в том смысле, что не создавать лишней нечитаемости. Пробелы там , отступы и пр. А больше - увы, нельзя. Я это в том смысле, что если мне предложат два варианта запроса - медленно работающий и нечитаемый - я выберу нечитаемый. Признаюсь честно: опыт работы в SQL-серверами у меня небольшой. Однако, преложенная MasterZiv концепция создания трехэтажных нечитаемых запросов мне не по душе. Это хорошо, если MasterZiv сам пишет свои запросы и сам с ними работает. А если несколько людей работают с кодом? Как им разбираться в трехэтажном запросе, особенно если там чего-то отъехало? Ведь в таком случае он ломается целиком. Как его проверить? Приходится перебирать все эти бесконечные and - отключать по одному и смотреть, как это влияет на результат. В случае temp-таблиц этот процесс выглядит более удобно. Поскольку процесс получения выборки разбит на этапы, идентифицировать отъехавший кусок проще - пишем return перед дропаньем temp-таблиц, просматриваем их - и ищем, где отъехало. Поэтому мысли первого оратора мне больше импонируют, хотя может быть я просто недостаточно осведомлен о том, как более опытные товарищи отлаживают свои огромные запросы и ищут там ошибки - может быть в этом случае их точка зрения показалось бы мне более близкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 13:28 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
А вот так и отлажывают, как вы написали. Я абсолютно со всем согласен, только что уж тут поделать. Такой язык SQL замечательный, и настолько структурный, что фиг его на части разделишь. Даже подзапрос не всегда написать можно. Но идя другим путем (временные таблицы) можно так завременнотабличиться, что уже под конец сам перестанешь соображать где какая таблица и какое поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 21:43 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: > А вот так и отлажывают, как вы написали. Я абсолютно со всем согласен, > только что уж тут поделать. Такой язык SQL замечательный, и настолько > структурный, что фиг его на части разделишь. Даже подзапрос не всегда > написать можно. Но идя другим путем (временные таблицы) можно так > завременнотабличиться, что уже под конец сам перестанешь соображать где > какая таблица и какое поле. Так с тем, что с дури можно и [beep] сломать, никто не спорит . Но если разбить большой монстроидальный запрос на несколько простых, и к каждому из них написать комментарий, то задача понимания того, что получилось, сильно упрощается. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 10:25 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Не согласен - не всегда. Упрощаются конкретные запросы, усложняется их взаимодействие в алгоритме вычисления. Вообще может появиться алгоритмические вычисления (в отличие от SQL) их тоже надо "понимать". В общем, я бы сказал, все зависит от конкретной ситуации. Только ради читаемости я бы не стал разбивать запрос на несколько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 11:31 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
Имеет смысл разбивать запрос при серьёзной многопользовательской работе. На все поля индексов не настроишь, а если одна таблица в объединении пойдет не по индексу... Результат будет плачевен, особенно если основные сканы пойдут как раз по ней. Так же бывают нередки ситуации, когда объем поднимаемых в кеш индексов таблиц настолько велик, что не может туда поместиться - опять весь запрос свалится в скан. Поэтому, ИМХО, не стоит пугаться #таблиц, все равно Sybase строит итоговую таблицу для результатов запроса. Ну будет их несколько... Суммарным объемом возможно меньше... Главное ДУМАТЬ и вытаскивать в #таблицы данные, позволяющие максимально эффективно "зажать" итоговый селект по высокопроизводительному (высокоселективному) индексу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 15:00 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
[quot DrNull] На все поля индексов не настроишь, а если одна таблица в объединении пойдет не по индексу... Результат будет плачевен, особенно если основные сканы пойдут как раз по ней. Они все равно пойдут, разбит запрос или не разбит, по ней, если нет нужного индекса. Так же бывают нередки ситуации, когда объем поднимаемых в кеш индексов таблиц настолько велик, что не может туда поместиться - опять весь запрос свалится в скан. Вот это - полная ерунда, оптимизатор работает без учета объема и доступности кэша. Он в отношении кэша он выбирает только размер IO. Так что запрос не может принципиально "свалиться в скан" из-за заполненности кэша. Да и вообще заполненность кэша -- это нормальная ситуация, зачем же он еще нужен. Так что будет ваш запрос все равно идти по индексу, вытесняя из кэша все остальное. Поэтому, ИМХО, не стоит пугаться #таблиц, все равно Sybase строит итоговую таблицу для результатов запроса. Отнюдь не всегда. ДУМАТЬ и вытаскивать в #таблицы данные, позволяющие максимально эффективно "зажать" итоговый селект по высокопроизводительному (высокоселективному) индексу. Думать - это хорошо всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2005, 09:19 |
|
||
|
JOIN vs CREATE TABLE #
|
|||
|---|---|---|---|
|
#18+
MasterZiv Они все равно пойдут, разбит запрос или не разбит, по ней, если нет нужного индекса. Простой пример: Три таблички, две по паре миллионов записей, одна тысяч 10. Основной зажим идет по маленькой, которая является связующей для двух больших - вывод как раз из больших. По "маленькой" не удается подобрать индекс на поле, по которому "зажим" where. Всё. Приехали. Будут просто дикие сканы и запрос умрет по таймауту. Другой вариант - отбираем нужные записи из "маленькой" в #таблицу, получаем их ,например, десяток. Эту #таблицу привязываем к "большим". В теории должно быть одинаково по времени. На практике - даже не в разы, на порядки быстрее работает. MasterZiv Вот это - полная ерунда, оптимизатор работает без учета объема и доступности кэша. Он в отношении кэша он выбирает только размер IO. Так что запрос не может принципиально "свалиться в скан" из-за заполненности кэша. Да и вообще заполненность кэша -- это нормальная ситуация, зачем же он еще нужен. Так что будет ваш запрос все равно идти по индексу, вытесняя из кэша все остальное. По плану запроса он в скан не валится - оптимизатор ПОКАЗЫВАЕТ красивый план. Однако идет огромный i/o у процесса. Все висит и тормозит. Фактически либо идет скан таблицы, либо потуги выпихнуть ненужный индекс и загрузить нужный сейчас. Гадать не буду :) Реально - выкидываеешь из соединения половину таблиц в отдельный селект с инсертом в # и привязываешь её ко второму селекту со второй половиной таблиц и все начинает крутится мнооого быстрее. MasterZiv Отнюдь не всегда. ИМХО практически всегда, когда возвращается больше сотни записей (да, работа такая, это реально нужно) или есть сортировка или группировка. Опять же Fetch надо как то делать... Не держать же все в полуподвешенном состоянии... ЗЫ Все вышесказанное справедливо для больших баз (сечас реально в базе свыше 1,5К таблиц сумманым объемом под 100GB ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2005, 17:59 |
|
||
|
|

start [/forum/search_topic.php?author=Stan__2030&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 653ms |
| total: | 779ms |

| 0 / 0 |
