Size: a a a

2020 May 28

NP

Nick Proskuryakov in sql_ninja
Кто на практике что может сказать про перф индексов в том числе кластерного на bigint и uniqueidentifier
источник

K

Kostya in sql_ninja
Nick Proskuryakov
Кто на практике что может сказать про перф индексов в том числе кластерного на bigint и uniqueidentifier
Я могу
Ша чай попью, поудобнее устроюсь и скажу
источник

K

Kostya in sql_ninja
Ночные работы, и в.ч. как раз по бигинт кластеру
источник

K

Kostya in sql_ninja
По бигинту (июды не люблю, и, по ходу, это не только я не люблю)
В общем, первый момент
1. Поле сцука 8 байт.
2. Они производительнее  индексов по дате, даже по дейттайм2(3) -6 байт. Факт.
Они производительнее индексов по варчар(8), но ! индекс по варчар(8) хорошо жмется в пределах страницы, бигинт так не жмется
источник

K

Kostya in sql_ninja
3. У нас они есть сиквенс и айди и вот сегодня станут праймари ки кластер на секционированной таблице
источник

K

Kostya in sql_ninja
Если это сиквенс и скуль 2019, то все, это бминго, в 2019-м уже есть оптимизация индексов для таких последовательных значений, и, по словам экспертов (по большей части правда мелкомягки) драматикали импрувят перфоманс
источник

K

Kostya in sql_ninja
4. Если таблица секционирована именно по ключу Бигинт, то есть небольшой стрем, что при выравнивании остальных индексов они мал-мал распухнут - не забываем. поле 8 байт
источник

K

Kostya in sql_ninja
5. если это поле вставляется не последовательно, а не пришей к пизде рукав, вразнобой типа 2,10,88,34, 54,1 - то через определенное время неизбежно придется ребилдить
источник

K

Kostya in sql_ninja
Т.е. если с интом это придется делать попозже, то с бигинтом - пораньше
Проверено, когда внезапно выросла табла и пришлось бигинт айди делать
источник

AC

Alexey Chaykin in sql_ninja
Kostya
По бигинту (июды не люблю, и, по ходу, это не только я не люблю)
В общем, первый момент
1. Поле сцука 8 байт.
2. Они производительнее  индексов по дате, даже по дейттайм2(3) -6 байт. Факт.
Они производительнее индексов по варчар(8), но ! индекс по варчар(8) хорошо жмется в пределах страницы, бигинт так не жмется
datetime2(3) - 7 байт
источник

K

Kostya in sql_ninja
2 значит
источник

AC

Alexey Chaykin in sql_ninja
А индекс уникальный был по дате? Что с чем сравнивали?
источник

K

Kostya in sql_ninja
Alexey Chaykin
А индекс уникальный был по дате? Что с чем сравнивали?
нет, не уникальный
сравнивали выдачу 1 записи
источник

K

Kostya in sql_ninja
с тор 1
источник

K

Kostya in sql_ninja
диапазон тоже быстрее отрабатывал, но там уникальность по бигинту могла может быть чутка перевес создать
источник

K

Kostya in sql_ninja
И еще момент, но его долго не тестил - если это поле включаешь в составной инлдекс, тоже побыстрее даты идет
источник

K

Kostya in sql_ninja
может и показалось
источник

AC

Alexey Chaykin in sql_ninja
Просто если кластерный неуникальный, то там ещё по идее +4 байта на uniquifier
источник

K

Kostya in sql_ninja
Alexey Chaykin
Просто если кластерный неуникальный, то там ещё по идее +4 байта на uniquifier
до этого тест чище был
вообще кластера не было
а был бигинт + уникальность по нему
источник

K

Kostya in sql_ninja
а сейчас будет кластер но предвариательное уже показало что еще быстрее все
источник