|
Index для поля date is null
|
|||
---|---|---|---|
#18+
Есть поле типа Date . В SQL-запросе есть проверка date IS NULL Вопрос: Стоит ли для этого поля создавать индекс? Заранее спасибо за ответ! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2017, 23:01 |
|
Index для поля date is null
|
|||
---|---|---|---|
#18+
Для принятия решения информации совершенно недостаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 00:03 |
|
Index для поля date is null
|
|||
---|---|---|---|
#18+
bk0010 bk0010Для принятия решения информации совершенно недостаточно. А так достаточно? Таблица: Код: 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.
SQL-запрос: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 08:56 |
|
Index для поля date is null
|
|||
---|---|---|---|
#18+
potkin, возможно стоит запилить составной индекс по всем полям , которые в условии where. Отдельно индекс по export_date смысла скорее всего не имеет. Для осознанного выбора надо еще видеть селективность по фильтру и понимать сколько строк мы получим в результирующем наборе. И как вы сами понимаете это напоминает ощупывание слона вслепую. Т.к. этот запрос скорее всего не исчерпывает всех особенностей системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 09:27 |
|
Index для поля date is null
|
|||
---|---|---|---|
#18+
Маловато, но уже лучше. Хорошо бы еще знать кол-во записей в таблице, их прирост, распределение и т.д. Для вашего запроса есть хороший индекс idx_payments_z1. Если записей с одинаковыми receiverid, status_id и period и разным export_date меньше 1000, то об индексировании export_date даже задумываться не надо. Рекомендую ознакомиться с командами set explain to ..., set explain on (перед запросом) и set explain off (после запроса). Они покажут вам, как сервер оценивает (и собирается выполнять) ваш запрос. Еще рекомендую посмотреть команду update statistics - прочищает мозги серверу. У вас очень много индексов, если таблица будет большой, то может начать тормозить добавление записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 21:23 |
|
Index для поля date is null
|
|||
---|---|---|---|
#18+
авторкол-во записей в таблице ~ 2 000 000 записей (постоянно увеличивается) Результат запроса ~5 000 записей ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2017, 10:55 |
|
Index для поля date is null
|
|||
---|---|---|---|
#18+
1. Какая разница в количестве записей с дейт из нал и с дейт из нот нал? 2. Для эксперимента создайте индекс как з1 и добавьте к нему поле с датой. После обновления статистики посмотрите в эксплейне, какой из двух индексов используется. Возможно, вместо з1 и вас останется новый индекс. 3. Ваше приложение точно вызывает запрос, вставляя константы? Не используются параметры, на которые оптимизатор может реагировать совсем по другому? 4. Сделайте тестовую таблицу и сравните скорость вставки и обновления данных с индексом и без. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2017, 06:18 |
|
|
start [/forum/topic.php?fid=44&msg=39530556&tid=1606759]: |
0ms |
get settings: |
14ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
57ms |
get topic data: |
4ms |
get forum data: |
1ms |
get page messages: |
148ms |
get tp. blocked users: |
1ms |
others: | 2600ms |
total: | 2833ms |
0 / 0 |