Производительность некластеризованных индексов для разных типов столбцов - PullRequest
4 голосов
/ 30 июля 2011

Является ли некластеризованный индекс для столбца int более производительным, чем индекс для столбца decimal или datetime?

1 Ответ

4 голосов
/ 30 июля 2011

В некотором смысле: да.

Значение INT составляет всего 4 байта, поэтому больше INT s поместится на одной 8K-странице в SQL Server.

DATETIME использует 8 байтов - поэтому на одной странице хранится меньше значений DATETIME, или для того же числа DATETIME с требуется больше страниц, следовательно, вы получаете больше дискового ввода-вывода и, следовательно, меньше производительность.

Какова большая разница, до более детального измерения, однако - для чего-либо, находящегося под миллионами строк, разница, скорее всего, будет незначительной. Если ваши запросы получают выгоду от индекса по этому столбцу DATETIME - я без колебаний добавлю его (опять же: если вы не имеете дело с многомиллионными таблицами строк ... тогда вам могут потребоваться более подробные исследования)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...