parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

как ускорить выполение sql запроса

Александр Петросян (PAF) 31.10.2002 10:24 / 31.10.2002 10:25

павел, высший балл за subject!

есть ещё момент соединения с сервером: скажем, с oracle соединение относительно медленное, и лучше использовать mod_parser3 или isapi версию, которая кэширует соединения. а если и использовать cgi вариант, то только с ^cache, уменьшающем количество соединений с базой до разумного минимума.

по второй части вопроса: mysql замечен за медленным выполнением сложных многотабличных запросов. однако в большинстве случаев лучше оставить его работу ему. если вы начнёте делать её сами на parser, вы будете обрабатывать большие объёмы, и вам может не хватить памяти, поскольку parser расчитан на сборку страницы из частей, а вовсе не на обработку тысячестрочных таблиц в поиске пары записей.

диагноз:
1. непременно используйте ^cache(…){^connect[…]{…}}, чтобы просто не выполнять лишний раз sql запросы, не нагружать sql-сервер;
2. поручайте максимум работы sql серверу, он для того и задуман=оптимизирован;
3. всегда проверяйте качество сложного запроса explain'ом, так вы поймёте, не забыли ли где создать индекс, и нет ли других подводных камней.