На сколько сильно нормальные формы снижают производительность сайта с
Мишаня Современный
На сколько сильно нормальные формы снижают производительность сайта с базой данных?
Без нормальных форм нужную информацию часто можно извлечь в один простой запрос. С нормальными формами запрос сильно усложняется, в нём порою появляется до 5 вложенных запросов, затрагивающих разные таблицы. А это наверняка снижает производительность, не говоря уже про простоту построения запросов. Так ли вообще важна нормализация?
Ответы:
Андрей
1. Сложность запросов зависит от уровня нормализации. На практике чаще используется третья нормальная форма.
2. Да, денормализация при необходимости ускорения выборки данных - вполне себе стандартный приём. Но за это приходится расплачиваться дополнительными усилиями по поддержанию целостности данных: когда изменение одного значения требует согласованных изменений во множестве таблиц.
3. Упрощение одних SELECT приводит к усложнению других. Отсутствие нормализации - это усложнение получения сводных отчётов, необходимых бизнесу.
4. Совсем не обязательно всё делать одним запросом к базе. Например, постоянно используемый набор из десятка статусов выгоднее заранее загрузить в из базы кэш приложения и работать с ним на уровне приложения, а не базы.
5. Залог быстрого выполнения "многоэтажных" запросов - правильно построенные индексы.
|