Влияет ли ширина INT в таблице MySQL на соединения?

MySQL позволяет указать ширину для столбцов типа int, например: int(9) int(10) int(11), которая, согласно документация, это "метаданные ширины отображения", которые используются MySQL, только если вы включили "нулевое заполнение".

Мой вопрос: действительно ли эта ширина влияет на скорость соединений? (не должно, но я сам не уверен на 100%)

Например, следующий псевдокод:

SELECT a.field FROM a, b WHERE a.int(10)=b.int(10) WHERE b.anotherfield=?

быть быстрее/лучше, чем:

SELECT a.field FROM a, b WHERE a.int(8)=b.int(11) WHERE b.anotherfield=?

Есть ли другие «проблемы» с целыми числами смешанной ширины? (внешние ключи и т.д.). Я просто хочу знать, стоит ли нормализовать ширину всех наших целых чисел или нет.


person Richy B.    schedule 04.05.2011    source источник


Ответы (1)


Не верьте мне на слово, но держу пари, это не имеет ничего общего с производительностью. Это просто ширина экрана. см. http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html и http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/

person bpgergo    schedule 04.05.2011
comment
Да, это мое мнение - это, вероятно, не влияет на производительность, но не цитируйте меня. Просто интересно, есть ли какие-либо доказательства так или иначе, прежде чем я обновлю несколько таблиц по несколько миллионов строк в каждой. - person Richy B.; 04.05.2011