Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
Добрый день. Выполняю следующий скрипт: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Мне выдается ошибка: Ошибка SQL (1104): The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay Выполняю перед скриптом: Код: plsql 1. В итоге скрипт выполняется за 2,5 минуты. Создание индексов не привело к ускорению скрипта: CREATE INDEX ix_item_id ON item (id); CREATE INDEX ix_p5_item_id ON p5 (item_id); CREATE INDEX ix_country_id ON country (id); CREATE INDEX ix_p5_country_id ON p5 (country_id); Тот же самый запрос в PostgreSQL у меня на тех же данных выполняется за миллисекунды. В чем может быть дело? Как мне ускорить запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 02:40 |
|
||
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
ZiB, Показывайте DDL таблиц, план запроса. Зачем в запросе distinct? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 12:29 |
|
||
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
Я не умею всего этого делать в MySQL. distinct нужен т.к. в item встречаются полные дубли строк. В таблице p5 я предварительно очищаю все дубли (по полю p5.item_id, оставляю где p5.id максимальный). Оказывается запросы из PostgreSQL вовсе не работают в MySQL. Приходится создавать темпори таблицы )-:. Код: plsql 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. 54. 55. 56. 57. 58. 59. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 13:03 |
|
||
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
Я забыл сделать CREATE INDEX ix_item_id ON item (id); сейчас сделал и все заработало быстро! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 13:14 |
|
||
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
Я теперь очень плохого мнения о MySQL. Что бы удалить неиспользуемые строки в таблице oc_manufacturer (на которые нет ссылки из таблицы oc_product) мне приходится создавать temporary table. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. В PostgreSQL я мог это сделать проще одним запросом: Код: plsql 1. 2. 3. 4. 5. 6. Может я чего-то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 13:20 |
|
||
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
ZiB, А почему item (id) не первичный ключ? Тогда и дублей бы не было, и JOIN работал бы быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 13:45 |
|
||
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
И, кстати, после создания индексов полезно делать ANALYZE TABLE, чтобы собрать статистику. Иногда это помогает оптимизатору MySQL выбрать более подходящий (быстрый) план. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 13:46 |
|
||
|
Тормозит запрос в MySQL, всего 2 join
|
|||
|---|---|---|---|
|
#18+
ZiBЧто бы удалить неиспользуемые строки в таблице oc_manufacturer (на которые нет ссылки из таблицы oc_product)Я бы написал это так: Код: sql 1. 2. Нужен индекс по oc_product.manufacturer_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 13:51 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1830693]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 148ms |

| 0 / 0 |
