|
|
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Можно ли ускорить работу ORDER BY. Ситуация такова, при обычной выборке, запрос выполняется быстро, а как только включаешь сортировку, начинаются тормоза, до 5-и секунд. В таблице всего то 0.5 млн записей пока, ну каждый день добавляются 3-4 тыщ. Сам запрос: Код: plaintext 1. 2. 3. 4. 5. 6. tabletypepossible_keyskeykey_lenrefrowsExtra statesconstPRIMARY abbreviationabbreviation2const1Using filesort craigsrefcategorycategory20const376422Using where citieseq_refPRIMARYPRIMARY4craigs.city1 ------------------------------- www.free-lancer.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 17:21:42 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Покажите описание таблиц заодно, иначе сложно чего-то сказать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 20:36:27 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Вот все три таблицы ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 20:43:02 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Покажи EXPLAIN запроса без сортировки. ------------ Пути мои - неисповедимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 21:09:58 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
индекс по полю date? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 21:22:53 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Steven13Покажи EXPLAIN запроса без сортировки. ------------ Пути мои - неисповедимы. Результат EXPLAIN такой же, только отсутствует Using filesort для таблицы states >>индекс по полю date? А может помочь? Просто я не могу залочить таблицу на долго, сайт то посещаемый ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 22:21:20 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
По идее - должно... Вы же сортируете по этому полю.... Хотя, подождите пока дадут ответ более компетентные люди. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 23:18:25 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Попробуй поставить индексы на : craigs.state craigs.city Я недавно 2 десятка скриптов индексами снабжал. Так постановка индексов на поля по которым идёт JOIN ускоряло их оброботку на порядок, иногда и больше. ---------- Пути мои - неисповедимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 23:35:59 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Спасибо, завтра попробую. Результаты выложу обязательно. ------------------------------- www.free-lancer.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 23:51:39 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Модифицируйте индекс category до KEY `category` (`category`, `date`), должно помочь в сортировке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 03:12:23 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Индекс по полю date не помогло ... >>Модифицируйте индекс category до KEY `category` (`category`, `date`), должно помочь в сортировке. Это как? Т.е. уникальным сделать? не получится, ведь они могут повторятья ... Сейчас ставлю индексы на craigs.state и craigs.city ... посмотрим что получится, долго млин ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 14:53:00 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
http://dev.mysql.com/doc/refman/4.1/en/order-by-optimization.html manThe following queries use the index to resolve the ORDER BY part: Код: plaintext 1. авторА может помочь? Просто я не могу залочить таблицу на долго, сайт то посещаемый ...для этого есть таблица test :) ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 16:18:36 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
хмм... если тормоза появляются только при сортировке и иксплейн почти такой же, то джойны мешать не должны вроде... ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 16:23:15 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
maXmoхмм... если тормоза появляются только при сортировке и иксплейн почти такой же, то джойны мешать не должны вроде... ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm Проверил, джойны вообще погоду не делают. Сейчас пробую как раз Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 16:33:48 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
VERSИндекс по полю date не помогло ... >>Модифицируйте индекс category до KEY `category` (`category`, `date`), должно помочь в сортировке. Это как? Т.е. уникальным сделать? не получится, ведь они могут повторятья ... Сейчас ставлю индексы на craigs.state и craigs.city ... посмотрим что получится, долго млин ... Ну что значит "как"? Вместо индекса по полю category сделать индекс по полю category и date. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 16:42:19 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
DocAl VERSИндекс по полю date не помогло ... >>Модифицируйте индекс category до KEY `category` (`category`, `date`), должно помочь в сортировке. Это как? Т.е. уникальным сделать? не получится, ведь они могут повторятья ... Сейчас ставлю индексы на craigs.state и craigs.city ... посмотрим что получится, долго млин ... Ну что значит "как"? Вместо индекса по полю category сделать индекс по полю category и date. Здесь меня просто смутило слово KEY, насколько я понимаю, КЕЙ это уникальное поле ... поправтье если я не прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 16:58:43 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
KEY значит KEY, ключ, индекс. VERS KEY `category` (`category`), Это, собственно, из описания таблицы цитата. Вот этот индекс надо заменить на индекс по полям category, date, именно в таком порядке. Собственно, судя по предопоследнему вашему посту, вы как раз на этом пути сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 17:10:03 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Свершилось!))) Спасибо всем огромное. Добавив индекс KEY `date` (`date`,`priority`) получаем сортировку в 4-5 раз быстрее чем было. ------------------------------- www.free-lancer.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 17:30:03 |
|
||
|
Ускорить ORDER BY
|
|||
|---|---|---|---|
|
#18+
Эк меня переклинило... priority, конечно, а не category. Вот только, по идее, надо KEY `priority` (`priority`, `date`) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 17:37:50 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33426101&tid=1853318]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
231ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 513ms |

| 0 / 0 |
