#mysql
#mysql
Вопрос:
Я немного поискал в Google и нашел несколько приличных статей, но не совсем то, что мне было нужно. Я пытаюсь найти лучшие типы данных для использования:
- тип данных для длины 10 int
- тип данных для 1 int длины 0-9
- тип данных для int 1 или 0
- тип данных для строки из 32 символов
- тип данных для строки из 255 символов
Я предполагаю, что мой общий вопрос заключается в том, какие типы данных я должен использовать для уменьшения пространства, поскольку стоимость за ГБ составляет ~ 6 долларов. Хотя я также не хочу жертвовать производительностью процессора только для сохранения байта.
Комментарии:
1. Для строк это фиксированная длина или переменная? Для чисел вы должны указать диапазон значений. И обмен хранилищем для процессора типичен для сжатия, например, в формате сжатия InnoDB. Вы не можете использовать оба способа
2. Шесть
*whole*
долларов за гигабайт? Боже милостивый , вашим разработчикам, должно быть, плохо платят, если именно здесь вы должны сокращать расходы.3. @Matt Ball: Оборудование дешевое, программисты дорогие , однако мы не знаем, где базируется OP…
4. @Мэтт Болл: Я знаю. Об этом тоже было сказано красноречиво
Ответ №1:
int
илиbigint
, в зависимости от того, насколько велики 10-значные числа (unsigned
если это имеет смысл)tinyint
boolean
(не обнуляется)varchar(32)
varchar(255)
Комментарии:
1. @user962449 спасибо за разъяснение. Просто имейте в виду:
unsigned int
максимальное значение4294967295
(10-значное число), но это не самое большое 10-значное число (9999999999
).2. Возможно, вы захотите добавить, что
DECIMAL(10,0)
потребуется 5 байт: dev.mysql.com/doc/refman/5.1/en/storage-requirements.html