Я создаю базу данных на SQL Server, размещенную на AWS RDS (я хочу использовать версию 2016 или 2017).
Мой вопрос касается создания идентификаторов для таблиц, которые, как я подозреваю, будут иметь многострок (это правда, что, вероятно, в моей базе данных не будет много строк, но я хочу научиться правильно выполнять свою работу).Я не знаю, какой тип данных лучше выбрать.
Структура моего идентификатора будет выглядеть следующим образом:
[Two items for schema][Three items for tables][Five items for rows]
Пример, который я рассмотрел:
Data type and length | Example | Storage (bytes)
---------------------+------------+---------------
VARCHAR(10) | S1TA100001 | 10 bytes
NUMBER(10,0) | 0100100001 | 9 bytes
BIGINT | 100100001 | 8 bytes
Если я использую VARCHAR
, у меня будет больше диапазона (0-9 и AZ -38-), поэтому, возможно, я смогу уменьшить de ID ([Схема первая] [Таблица одна] [Строка- (дерево | четыре)]это 5 или 6 байтов, что предполагает 54,872 или 2,085,136 строк. Но я предполагаю, что это приводит к вычислительным затратам.
Если я использую NUMBER, у меня есть только диапазон (0-9), который предполагается 100,000 строк.
Если я использую BIGINT
, который имеет диапазон от -2 ^ 63 (-9,223,372,036,854,775,808) до 2 ^ 63-1 (9,223,372,036,854,775,807). Я использую только несколько из них, но я не использую, если вычислениястоимость актуальна.
Большое спасибо!