У меня есть простая пользовательская таблица, я предполагаю максимальных пользователей, которых я собираюсь иметь, 300,000.
В настоящее время я использую:
CREATE TABLE users
(
id INT UNSIGNED AUTOINCREMENT PRIMARY KEY,
....
Конечно, у меня есть много других таблиц, для которых пользователей (идентификатор) FOREIGN KEY.
Я считал, что, так как идентификатор не собирается использовать полный максимум INT, который лучше использовать: MEDIUMINT и это дадут лучшую производительность.
Действительно ли это верно?
(Я использую mysql на Windows Server 2008),
Разницы в производительности быть не должно, единственное преимущество, которое вы получите, это немного меньший размер таблицы. В любом случае, для 300'000 строк это не должно вас волновать.
Это называется микро-оптимизацией и не является проблемой.
Старайтесь задавать (себе в первую очередь) вопросы производительности, основываясь только на реальном опыте, а не на воображении. А профилирование всегда в помощь, чтобы отличить одно от другого.
Что касается "300k max" - в реальной жизни цифры имеют свойство неожиданно расти. Зачем копать себе подводные камни?