Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подскажите пожалуйста как правильно построить кластерный индекс.
|
|||
|---|---|---|---|
|
#18+
Всем привет! Поправьте меня если я не прав. Мысли в слух... 1. При создании кластерного индекса, данные в таблице упорядочиваются и новые данные добавляются в конец индекса(таблицы). 2. Кластерный индекс я создаю по автоинкрементному полю тип integer, порядок сортировки asc. Соответственно чем новее данные тем дальше они от начала таблицы. 3. В таблице есть поле "дата", это дата добавления строки в таблицу, таблица заполняется несколько лет, соответственно если мне нужны данные за вчерашний день, то мне нужно достать данные из конца индекса(таблицы). 4. Если я переделаю сортировку в кластерном индексе на desc, то я ускорю получение информации которая записывалась недавно, например за вчерашний день. Правильно я рассуждаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2019, 18:12 |
|
||
|
Подскажите пожалуйста как правильно построить кластерный индекс.
|
|||
|---|---|---|---|
|
#18+
Mandarin1. При создании кластерного индекса, данные в таблице упорядочиваются и новые данные добавляются в конец индекса(таблицы). Нет, новые данные попадают в то место кластерного индекса, куда указывает ключ у вставляемых записей В частном случае, если ключ монотонно возрастающий, да, в конец индекса. Mandarin2. Кластерный индекс я создаю по автоинкрементному полю тип integer, порядок сортировки asc. Соответственно чем новее данные тем дальше они от начала таблицы. Да Mandarin3. В таблице есть поле "дата", это дата добавления строки в таблицу, таблица заполняется несколько лет, соответственно если мне нужны данные за вчерашний день, то мне нужно достать данные из конца индекса(таблицы). Да Mandarin4. Если я переделаю сортировку в кластерном индексе на desc, то я ускорю получение информации которая записывалась недавно, например за вчерашний день. Зависит от того, как вы будете читать эти данные. Например, при ask сортировке Код: sql 1. 2. 3. 4. 5. будет сканить почти всю таблицу Код: sql 1. 2. 3. 4. 5. просканит только последние страницы Код: sql 1. 2. 3. 4. вообще не зависит от сортировки, и всегда считает только по 1-й странице с каждого уровня дерева индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2019, 18:21 |
|
||
|
Подскажите пожалуйста как правильно построить кластерный индекс.
|
|||
|---|---|---|---|
|
#18+
msLex, Первичный ключ (кластерный индекс) монотонный автоинкремент. Выборку данных буду делать так Код: sql 1. Где @d1 и @d1 ближайшие к нам даты. Индекс по полю field_date есть. Как будет быстрее работать, когда кластерный индекс сортируется по asc или по desc? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2019, 18:25 |
|
||
|
Подскажите пожалуйста как правильно построить кластерный индекс.
|
|||
|---|---|---|---|
|
#18+
MandarinmsLex, Первичный ключ (кластерный индекс) монотонный автоинкремент. Выборку данных буду делать так Код: sql 1. Где @d1 и @d1 ближайшие к нам даты. Индекс по полю field_date есть. Как будет быстрее работать, когда кластерный индекс сортируется по asc или по desc? Без разницы. У вас будет либо full scan кластерного, либо range scan некластерного с lookup-ом в кластерный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2019, 18:28 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39882432&tid=1687052]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 385ms |

| 0 / 0 |
