|
|
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
Доброго дня! Есть таблица примерно такая Код: sql 1. 2. 3. 4. 5. 6. 7. В ней пара миллионов записей. К ней будет много селектов типа Код: sql 1. или много джойнов по ID, но с условием DELETED = 0 По датам селективность высокая, по DELETED очень низкая. Помогите, пожалуйста, сделать наиболее эффективных индексов. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 14:40:25 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
MeGusta, кластерный по OpDate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 14:44:14 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
MeGusta Код: sql 1. Модератор: Беспардонная грубость скипнута, фильтрованный индекс придумали. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 17:02:31 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
aleks222, там же селективность 1 к 100, скан будет да и то, если прослушивание парамеров simple. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 17:52:15 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовaleks222, там же селективность 1 к 100, скан будет да и то, если прослушивание парамеров simple.Вот как раз фильтрованный подойдёт, в нём не будет записей с deleted <> 0, никакого скана Что там будет ещё в индексе, зависит от запросов. Например, так: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 18:24:51 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
кластерный по OpDate, на вырост таблицы партиционировать по OpDate, если версия ЕЕ columnstore index - проверить на запросах, смотря что и как часто выбирается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 18:37:36 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
alexeyvgВладислав Колосовaleks222, там же селективность 1 к 100, скан будет да и то, если прослушивание парамеров simple.Вот как раз фильтрованный подойдёт, в нём не будет записей с deleted <> 0, никакого скана Что там будет ещё в индексе, зависит от запросов. Например, так: Код: sql 1. Если по фильтру 99% строк, то какой смысл от этого фильтра? Правильно. Никакого. Да и запросы типа Код: sql 1. все равно использовать этот индекс не смогут, как впрочем и любые другие запросы без правильного фильтра. В итоге имеем индекс который экономит нам 0.01% места на диске, но абсолютно безсмысленный для любых запросов в которых нет нужного фильтра. Я бы сказал, что если есть возможность избежать лукапов по всем полям которые в селекте, то можно добавить Deleted в INCLUDE (в сам ключ индекса безсмысленно по сути, использоваться все равно не будет), а если лукапы все равно неизбежны, то я бы даже не стал заморачиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 02:22:32 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
Alex_496кластерный по OpDate, на вырост таблицы партиционировать по OpDate, если версия ЕЕ columnstore index - проверить на запросах, смотря что и как часто выбирается С 2016SP1 уже можно и в стандарте! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 08:17:21 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
MindЕсли по фильтру 99% строк, то какой смысл от этого фильтра? Правильно. Никакого. Да и запросы типаЭэээ, наверное, я не так понял задачу. Я полагал, что записей с DELETED = 0 в таблице 0.001 от общего количества записей, я так понял высказывание: MeGustaПо датам селективность высокая, по DELETED очень низкая. Если же по фильтру действительно 99% строк, то лучший вариант кластерный по дате, или, если в select узкий набор, то можно рассмотреть некластерный по дату с INCLUDE нужных полей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 09:03:11 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
Зарапартовался, прошу прощения. Кардинальность низкая. Миллион неудаленных , тысяча удаленных записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 09:42:28 |
|
||
|
Помогите сделать грамотный индекс
|
|||
|---|---|---|---|
|
#18+
MeGustaЗарапартовался, прошу прощения. Кардинальность низкая. Миллион неудаленных , тысяча удаленных записей.Да, вот я так и подумал, иначе бы и вопроса не было бы про индекс, как и упоминания этого фильтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 11:42:04 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=176&tid=1690782]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 407ms |

| 0 / 0 |
