|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.10.2011, 12:06 | #1 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Оптимизация запроса
Болею, голова болит, а работать надо, но выходит только говнокод. Ладно код, но вот некоторые запросы никуда не годятся.
Условие: Есть некоторая таблица, в которой хранятся сообщения и темы. Отличаются они лишь значением `parent_thread` (у сообщений он равен теме-родителю, а у тем равен нулю). Нужно доставать из таблицы темы по последнему обновлению. Грубо говоря, что свежее создано или там, где свежее последнее сообщение, то и последнее обновилось. Также есть страницы (которые и представляют геморрой). Сейчас у меня запрос с двумя (!!!) вложенными запросами и он будет работать ну очень медленно, как я считаю. Реквестирую помощь с оптимизацией запроса. Так я запрашиваю все уникальные темы (не смотря на то, запрашиваю я их самих, либо запрашиваю последнее сообщений) : Код:
$a = ($page-1)*$limit; $b = $limit; Где $page - номер страницы, а $limit - количество тем на странице. Потом, если `parent_thread` не равен нулю, то заменяю сообщение с `parent_thread` на тему, в которой находится это сообщение. Такой говнокод.
pushl $0x18E3DF6B
call ICQ |
11.10.2011, 13:17 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Во второй части от подзапроса избавиться можно с помощью LEFT JOIN, только даст ли это выигрыш - вопрос.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация запроса | Spyhunter1983 | SQL, базы данных | 2 | 05.10.2011 15:24 |
Оптимизация запроса | stalsoft | SQL, базы данных | 0 | 05.07.2011 14:51 |
оптимизация запроса | pray_driver | SQL, базы данных | 3 | 13.12.2010 15:40 |
Оптимизация запроса | za4ot | SQL, базы данных | 0 | 11.06.2010 09:24 |
Оптимизация SQL запроса | Phantom | SQL, базы данных | 4 | 24.09.2009 16:07 |