|
|
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Аналогичная ситуация, этот запрос выдернут из функции: Код: 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. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. При частых вызовах этой функции, Shop-Script Premium просто гаснет вместе с сервером. При 130.000 товаров и у каждого порядка 5-10 параметров. Есть какие нибудь идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:03:48 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
dsl-group, 1) Показывайте сами запросы, а не код по их генерации. Для получения текста запросов, например, можете вывести их текст или сохранить в файл непосредственно перед выполнением. 2) Показывайте планы запросов. 3) Показывайте DDL всех используемых таблиц, включая их индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:12:01 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Код: 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. Сам запрос: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 12:10:01 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 12:55:49 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
и соответственно условие отбора перенести из WHERE в ON. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 12:56:45 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Akinaи соответственно условие отбора перенести из WHERE в ON.А смысл? Это ж внешняя таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 13:04:18 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
miksoftА смысл? Это ж внешняя таблица.Так связывание-то левое, а не внутреннее. И условие отбора - по левой таблице. Так что оно будет (или во всяком случае должно) применяться до связывания (во всяком случае до этапа добавления NULL-овых записей справа). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 15:21:44 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
AkinaТак что оно будет (или во всяком случае должно) применяться до связывания (во всяком случае до этапа добавления NULL-овых записей справа).Должно, но это никак не зависит от местонахождения условия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 15:24:12 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
dsl-groupСам запрос: Код: sql 1. 2. 3. План запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 15:25:00 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
miksoftdsl-groupСам запрос: Код: sql 1. 2. 3. План запроса? В ss_product_options хранятся атрибуты, а в ss_product_options_values их значения, в виде: http://prntscr.com/7kbx9e собственно я так понимаю этот запрос для каждого товара достает эти атрибуты. Проблема заключается в том, что при выводе в каталоге, эти атрибуты выводятся у 15 товаров, и судя по статистике нагрузки на сервер, все забито этими запросами. Вероятно из-за того что база ss_product_options_values разрослась до 1,276,273 записей. Вот такую картинку мы имеем в SSH, mysql> show processlist; http://prntscr.com/7k8yoj ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 15:47:39 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
dsl-group, План запроса - это несколько другое :) Его можно увидеть, если добавить слово EXPLAIN перед запросом и выполнить его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 15:53:45 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
dsl-group, В таблице ss_product_options_values нет индекса по полю productID Он нужен для этого запроса. Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 16:35:52 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
AkinamiksoftА смысл? Это ж внешняя таблица.Так связывание-то левое, а не внутреннее. И условие отбора - по левой таблице. Так что оно будет (или во всяком случае должно) применяться до связывания (во всяком случае до этапа добавления NULL-овых записей справа). Ты чего-то перепутал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 16:37:30 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
dsl-groupПроблема заключается в том, что при выводе в каталоге, эти атрибуты выводятся у 15 товаров, и судя по статистике нагрузки на сервер, все забито этими запросами. Понятно, ибо table scan ... Создашь индекс -- всё это уйдёт. dsl-group Вероятно из-за того что база ss_product_options_values разрослась до 1,276,273 записей. Это немного, если создашь индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 16:39:47 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=132&tid=1833022]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 332ms |

| 0 / 0 |
