Я хочу знать, есть ли у меня большая таблица (50 столбцов и 50 миллионов записей), и я хочу использовать запрос выбора, и если я разделил свою большую таблицу на меньшую таблицу (20 столбцов и 50 миллионов записей) с некоторыми объединениями в некоторых небольшие таблицы (около 5 столбцов), и я хочу использовать один и тот же выбор, какой из этих манер лучше с точки зрения скорости?
Например:
Первый случай с огромной таблицей:
select username,password,nationalAdd from baseTBL
Второй случай с меньшей таблицей и несколькими соединениями:
select username,password,nationalAdd from baseTBL
inner join dependTBL1 on baseTBL.user_id=dependTBL1.id
inner join dependTBL2 on baseTBL.national_id=dependTBL2.id
Обычно ответ: отсутствие вертикальной разбивки на производительность. Кроме того, редко можно получить преимущество в производительности от горизонтального разбиения.
Я адресую Вертикаль здесь.
NULLs
.WHERE
, касающееся обеих таблиц после раздела, это очень плохо для производительности. Сохраните все критерии поиска в главном разделе.Location
, а не 4 таблицы.Итог: ваш вопрос слишком расплывчатый, чтобы дать вам ответ, который относится к вашей схеме.