2010-05-18 2 views
1

Насколько выгодно использовать разбиение таблиц по сравнению с обычным подходом?Табличное разбиение на разделы

Есть ли какой-либо пример или подробный сравнительный анализ, который мог бы статистически (я знаю, что это слишком сильное слово, но это действительно помогло бы, если оно проиллюстрировано некоторыми цифрами) подчеркнуть полезность процесса.

ответ

0

Вы можете прочитать весь путь через

this и this

Даже если статьи MySQL конкретные, и все показатели мудрые выводы не следует слепо принимать, если вы работаете на разных СУБД, по-прежнему статьи хорошо описывают основные понятия и идеи вместе с некоторыми реальными числами и примерами.

2

Разделение является чрезвычайно мощным и действительно делит данные таблиц на несколько меньших таблиц, а затем объединяет их, используя представление.

Например, «ipnumbers» можно разделить на таблицы «ipnumbers_1», «ipnumbers_2» и «ipnumbers_3», где первая таблица содержит ограничения, так что сохраняются только ipnumbers от 0.0.0.0 до 50.0.0.0, и вторая таблица содержит ограничения, позволяющие хранить только в диапазоне 50.0.0.1 к 100.0.0.0, и т.д. Затем вид можно было бы добавить, что объединяет секционированные таблицы в одно:

SELECT * FROM ipnumbers_1 
UNION ALL 
SELECT * FROM ipnumbers_2 
UNION ALL 
SELECT * FROM ipnumbers_3 

Теперь, когда вы запрос к представлению для определенный номер ip:

SELECT * FROM ipnumberview WHERE ipno=60.0.0.1 

..The SQ L оптимизатор запросов сервера будет знать, что нужно проверить только таблицу «ipnumbers_2», и вы тем самым значительно улучшите скорость.

Кроме того, можно вставлять вид схемы (автоматически помещая данные в правильную таблицу назначения), а таблицы можно размещать на разных серверах (хотя это немного сложно настроить), и вы также можете добавлять индексы к представлениям ,

Удачи!

Смежные вопросы