|
|
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
Исходная инфо: Версия 5.6.19-1 Таблица ord: Код: sql 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. Таблица ord_ext: Код: sql 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. при выполнении запроса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. поиск по таблице ord_ext не использует индекс что приводит к медленному выполнению запроса, записи в таблицах ord и ord_ext имеют идентичные ID и отношение один к одному. В чем может быть причина ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 19:20:39 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
Mermpheriulus, Код: sql 1. 2. 3. 4. А зачем тебе ДВА индекса на ord_id ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 19:48:08 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Для экспериментов добавил, перед тем как на форум постить, на результат его наличие или отсутствие не влияет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 19:50:47 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
Mermpheriulus, Для начала -- убери SQL_CALC_FOUND_ROWS . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 19:50:56 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
MasterZiv, как ни прискорбно но результат тот же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 19:52:53 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
Оптимизатор считает, что выгоднее полный скан. Force index - не помогает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 19:58:13 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
Mermpheriulusпоиск по таблице ord_ext не использует индекс что приводит к медленному выполнению запроса, записи в таблицах ord и ord_ext имеют идентичные ID и отношение один к одному. Это ошибочный вывод. Медленное выполнение запроса не потому, что не используется индекс. У тебя нет критерия фильтрации записей (WHERE) и все таблицы, кроме этой, используют индексы, значит эта таблица -- просто внешняя в плане, и там не может быть использован индекс, она сканируется вся целиком (сканирование индекса будет ещё более трудоёмким). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 19:58:45 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
AkinaОптимизатор считает, что выгоднее полный скан. Force index - не помогает? Так а зачем его тут форсить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 20:00:04 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
Ну и, как обычно, группировка превращает часть полей в секции SELECT в тыкву. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 20:32:00 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
miksoftНу и, как обычно, группировка превращает часть полей в секции SELECT в тыкву. ну об этом я и не говорю даже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 23:43:54 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
MasterZivзачем его тут форсить ?ТС хочет, чтобы индекс использовался, пусть попробует зафорсить... а вот зачем ему это нужно, я не знаю - чтобы увидеть, что хуже стало, наверное. Хотя я полагаю, что и форсаж окажется бессилен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 23:45:59 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
записей в ord (и ord_ext соответственно) намного больше чем то что соответствует записям в таблице stage Вот и было предположение что делать выборку всей таблицы не эффективно. Попробую с форсированным индексом, посмотрю что получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 00:04:42 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
Mermpheriulusзаписей в ord (и ord_ext соответственно) намного больше чем то что соответствует записям в таблице stage Вот и было предположение что делать выборку всей таблицы не эффективно. Попробую с форсированным индексом, посмотрю что получится. если нет фильтров, то часто большая таблица всплывает в плане вверх. форсировать индекс бесполезно. также я бы предложил обратить внимание на общую бредовость запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 07:40:33 |
|
||
|
Using temporary; Using filesort при наличии индекса
|
|||
|---|---|---|---|
|
#18+
MasterZivесли нет фильтров, то часто большая таблица всплывает в плане вверх. форсировать индекс бесполезно. Угу. Когда ТС в этом убедится, попробуем предложить ему straight join... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 09:06:12 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38779388&tid=1834071]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 351ms |

| 0 / 0 |
