Целочисленные типы
есть база данных SQL Server 2005, для которой мы хотим улучшить производительность массового удаления / вставки / выбора, и я заметил, что она используетdecimal(18,0)
для его первичных ключей. Я понимаю, что это даст нам гораздо больше ценностей, чемbigint
но надеялся, что это будет быстрая победа и, по моим подсчетам, она продержит нас в течение многих миллионов лет роста.
Я вижу в .netдокументы десятичные числа занимают 16 байтов вместо 8, требуемых longs, но в SQL Server это выглядит такbigint
взять 8 байтов ноdecimal(18,0)
занимает только5 байт - как видно изselect DATALENGTH(max(id)) from table
, Это верно?
Есть ли другая причинаbigint
может быть медленнее или я должен придерживатьсяdecimal(18,0)
?