Когда и почему соединения с базой данных обходятся дорого?
Что большинство комментаторов joins не замечают, так это широкий db спектр методологий соединения, доступных denormalization в сложных СУБД, и денормализаторы databases неизменно замалчивают более join высокую стоимость обслуживания db денормализованных данных. Не denormalization каждое соединение основано speed на индексах, а в базах данных relational-database есть множество оптимизированных databases алгоритмов и методологий dbms объединения, предназначенных fast для снижения затрат на соединение.
В performance любом случае стоимость соединения slow зависит от его типа и ряда denormalization других факторов. Это совсем sql-join не обязательно должно быть dbms дорого - несколько примеров.
- Хэш-соединение, в котором объемные данные объединяются по принципу равноправия, действительно очень дешево, и стоимость становится значительной только в том случае, если хеш-таблицу нельзя кэшировать в памяти. Индекс не требуется. Равномерное распределение между объединенными наборами данных может оказаться очень полезным.
- Стоимость соединения сортировка-слияние определяется стоимостью сортировки, а не слияния — метод доступа на основе индекса может практически исключить стоимость сортировки.
- Стоимость соединения с вложенным циклом в индексе определяется высотой индекса b-дерева и доступом к самому блоку таблицы. Это быстро, но не подходит для массовых соединений.
- Соединение с вложенным циклом на основе кластера намного дешевле, поскольку на каждую строку соединения требуется меньше логических операций ввода-вывода — если обе соединяемые таблицы находятся в одном кластере, то объединение становится очень дешевым за счет совместного размещения соединяемых строк.
Базы fast данных предназначены для efficiency объединения, и они очень jointable гибки в том, как они это database делают, и в целом очень производительны, если database они не ошибаются в механизме sql-join соединения.
database
performance
join
relational-database
denormalization
Когда и почему соединения с базой данных обходятся дорого?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.