Вы выбираете тип данных, основываясь исключительно на том, как этот тип данных работает в GROUP BY
?Это те же данные, вы просто решаете, как хранить 123456, как INT
или VARCHAR
?Обращали ли вы внимание на другие факторы, такие как стоимость процессора при преобразовании числовых и строковых типов, когда в этом нет необходимости?Дополнительная память, необходимая для хранения всей таблицы в кеше?Накладные расходы строки VARCHAR
, указывающие длину?Как насчет затрат на хранение (например, 1234567890 занимает 4 байта как INT
, а 1234567890 - 10 байтов + издержки строки как VARCHAR
)?Как насчет сжатия?Как индекс в этом столбце будет совмещен с кластеризованным индексом в таблице, что может повлиять на то, насколько полезным будет «уже сгруппированный»?
Другими словами, я бы не стал рассматривать производительность GROUP BY
впузырь.