Каковы преимущества вертикального разделения по сравнению с горизонтальным разделением? - PullRequest
6 голосов
/ 12 июля 2011

Я просто не могу понять, когда или в какой ситуации мы будем когда-либо выбирать вертикальное разделение вместо горизонтального.

Каковы преимущества вертикального разделения по сравнению с горизонтальным разделением?

Есть ли примеры сайтов / компаний / тех, кто использует вертикальное разбиение, и что является / будет основной причиной такого решения?

Ответы [ 2 ]

9 голосов
/ 13 июля 2011

Основная причина вертикального разделения - это наличие в таблице столбцов, которые обновляются чаще, чем остальные. Вы разделяете их в другой таблице / разделе, и когда вы выполняете обновления, вы не обновляете остальную часть таблицы. Примером может служить счетчик сообщений. Если он находится в той же таблице, что и другие пользовательские данные, каждое обновление счетчика (и их много) будет блокировать всю запись, но вам необходимо часто ее читать. При вертикальном разбиении обновленной таблицей будут user_counters, и производительность пользователей не будет зависеть от количества обновлений.

0 голосов
/ 30 ноября 2013

Я полностью согласен с тем, что сказал Дархазер. «Примером вертикального разбиения может быть таблица, которая содержит ряд очень широких текстовых или BLOB-столбцов, которые не адресованы, часто разбиваются на две таблицы, в которых есть большинство ссылочных столбцов в одной таблице и редко ссылающийся текст или BLOB-данные в другом". Как сказано в этой ссылке: http://dev.mysql.com/tech-resources/articles/partitioning.html

...