Какова стоимость в байтах за накладные расходы столбца SQL_Variant в SQL Server?
-
24-10-2019 - |
Вопрос
У меня есть таблица, которая содержит множество столбцов типа данных с плавающей точностью с 15 -значной точностью. Каждая колонка потребляет 8 байтов хранения. В большинстве случаев данные не требуют такого количества точности и могут храниться в качестве реального типа данных. Во многих случаях значение может быть 0, и в этом случае я мог бы сойти с рук с хранением одного байта.
Моя цель здесь - оптимизировать требования к пространственному хранению, что является проблемой, с которой я сталкиваюсь с ограничением размера базы данных SQL Express.
Если в столбце SQL_Variant хранятся реальные и плавучивые типы данных, явно существует некоторые накладные расходы, связанные с хранением этих значений. Какова стоимость этих накладных расходов?
Затем мне нужно было бы оценить, действительно ли я окажусь в значительном сберегательстве пространства (или нет) переключение на использование типов данных столбца SQL_Variant.
Спасибо, Элан
Решение 2
Я обнаружил, что эта статья очень полезна для пролить свет на стоимость хранения в том, что касается SQL_Variant:
Другие советы
Вы не сохраняете пространство, используя SQL_Variant, и вы просто представите целый уровень сложности
Каждый столбец должен иметь правильный дат данных для хранения всех возможных значений в этом поле. Вам нужно плавать по всем направлениям? Не могли бы вы использовать Tinyint? и т. д
Если вы обеспокоены ограничением 4 ГБ, обновите новые версии Express (10 ГБ) или поднимите издание.