|
|
|
Долгий запрос
|
|||
|---|---|---|---|
|
#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. Код: sql 1. 2. 3. 4. 5. 6. 7. А таблице 12кк записей сейчас, запрос выполняется 2 секунды почти. Если индекс не указываю принудительно, то использует IX_download_date_user_file (date, user_file_id) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 15:01:26 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
1) Зачем date втащили в первчиный ключ? 2) Почему поля project_name и type не нормализованы? Я бы предложил попробовать один из таких индексов: (project_name, ip, date) (project_name, ip, type, date) (ip, project_name, date) (ip, project_name, type, date) Какой из них окажется лучше сильно зависит от распределения данных. При прочих равных лучше создавать более короткий индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 15:10:20 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
1. Партиционирование по полю даты требует наличие соотвествующего поля в первичном ключе 2. ENUM там Как я понял индекс по date нужно использовать в начале, т.к. по нему партиционирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 17:18:44 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
Как бы в эксплейне не вижу даже, чтобы много записей затрагивало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 17:19:14 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
Hett, 1. скорее всего НОВ() - интервал 1 дей вычислится один раз, но на всякий проверьте что буддет если задать константой вчерашний день 2. если в таблице БЛОБы КЛОБы ? если есть то быстрее будет выбрать ИД и потом единственый ИД (выбраный по ЛИМИТ 1) зажоинить на таблицу 3. проанализируйте данные: select DAYOFWEEK(date) dow, count(1) group by 1 select DATE(date) dd, count(1) group by 1 select ip, count(1) group by 1 select project_name, type count(1) group by 1,2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 19:49:36 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
1. Ничего не дает, чем меньше ставлю дату, тем дольше выполняется запрос. 2. Неа, длина строки статичная Данные в принципе как данные, примерно равномерно все :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 08:17:33 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
miksoftЯ бы предложил попробовать один из таких индексов: (project_name, ip, date) (project_name, ip, type, date) (ip, project_name, date) (ip, project_name, type, date) Какой из них окажется лучше сильно зависит от распределения данных. При прочих равных лучше создавать более короткий индекс. хммм, если дата в конце, то он юзает индекс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 09:43:47 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
HettmiksoftЯ бы предложил попробовать один из таких индексов: (project_name, ip, date) (project_name, ip, type, date) (ip, project_name, date) (ip, project_name, type, date) Какой из них окажется лучше сильно зависит от распределения данных. При прочих равных лучше создавать более короткий индекс. хммм, если дата в конце, то он юзает индексНу в начале от нее точно пользы не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 09:47:00 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
потому что не точное соответствие ищется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:08:00 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
Hettпотому что не точное соответствие ищется?Да, потому что поиск по диапазону. Да и в сортировке она потом участвует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:09:02 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
Hett.... Данные в принципе как данные, примерно равномерно все :) Дело не в равномерности, а в кардинальности разных критериев поиска. У вас в WHERE есть несколько критериев, кто по равенству, кто по ренжу (участку). Если хотите серьезно подойти -- начинайте с анализа данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 18:11:17 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
Как я понял предлагается в начало ключа ставить более-повторяющиеся данные, и так далее по убыванию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 18:45:44 |
|
||
|
Долгий запрос
|
|||
|---|---|---|---|
|
#18+
HettКак я понял предлагается в начало ключа ставить более-повторяющиеся данные, и так далее по убыванию?Нет, в начало те, по которым поиск идет по строгому равенству. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 18:48:26 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38535844&tid=1835347]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 429ms |

| 0 / 0 |
