Для загрузки больших объемов данных в память требуется больше времени и больше перемещений диска. Определение больших максимальных размеров для столбцов увеличивает размер строк таблицы. Для многих серверов СУБД строки таблицы являются переданными элементами. Поэтому определение слишком толстых столбцов замедляет процесс.
Этот эффект минимален для VARCHAR
предметов. Но VARCHAR
немного медленнее, чем типы данных, такие как целые числа. Восемь байтовых целых чисел занимают в четыре раза больше времени, чем двухбайтовые целые. Таким образом, если база данных проектируется для максимальной производительности, ограничение столбцов данных до фактически необходимого диапазона ускорит процесс. Степень этого эффекта зависит от того, является ли узкое место в канале диска.
Другим возможным узким местом является канал, который связывает сервер с клиентом, часто это сетевой канал. Узкие места в этом канале могут быть уменьшены запросами, которые не запрашивают данные, которые никогда не будут использоваться, но здесь есть компромисс между запросом данных только тогда, когда вам это нужно, и совершением слишком большого количества циклов.
Существует также компромисс между проектированием для оптимальной производительности и перепроектированием в ожидании меняющихся требований.