Rynor
stay hungry
smallint vs integer
Уважаемые, в ходе рефакторинга БД обнаружил много int полей, которые, исходя из реальных данных, логично сменить на smallint.
База относительно большая, таблицы от 1K до нескольких М записей.
Но получил возражение, что хотя smallint и экономит место на диске, зато увеличивает время вычислений сервером MySQL, так как smallint приводится к integer. Платформа 32-разрядная.
Встретил и такое мнение: http://forum.mysqlperformanceblog.com/s/m/640/
Computation is always done using signed 64bit integer in MySQL (even for 32bit)
То есть даже для 32-разрядных платформ идёт преобразование в 64-разрядный integer? Что-то верится с трудом.
В документации тема smallint vs integer не раскрыта, прошу помощи!
А вопрос такой: есть ли смысл переводить поля в smallint?
Заранее спасибо за помощь!
Уважаемые, в ходе рефакторинга БД обнаружил много int полей, которые, исходя из реальных данных, логично сменить на smallint.
База относительно большая, таблицы от 1K до нескольких М записей.
Но получил возражение, что хотя smallint и экономит место на диске, зато увеличивает время вычислений сервером MySQL, так как smallint приводится к integer. Платформа 32-разрядная.
Встретил и такое мнение: http://forum.mysqlperformanceblog.com/s/m/640/
Computation is always done using signed 64bit integer in MySQL (even for 32bit)
То есть даже для 32-разрядных платформ идёт преобразование в 64-разрядный integer? Что-то верится с трудом.
В документации тема smallint vs integer не раскрыта, прошу помощи!
А вопрос такой: есть ли смысл переводить поля в smallint?
Заранее спасибо за помощь!