Можно ли смешивать секционированные и несекционированные таблицы на одном сервере MySQL?

Я только что просмотрел это руководство, и пункт на слайде 39 выделялся: НЕ смешивайте секционированные и неразделенные таблицы на одном сервере" Я не знаю, о чем говорит автор. Это относится только к бенчмаркингу? Есть ли какое-то требование, чтобы все таблицы были секционированы при секционировании одной? Даже если это относится только к бенчмаркингу, мне все равно хотелось бы знать, почему все они должны быть разделены, чтобы получить хорошие результаты бенчмаркинга.


person Paul    schedule 16.03.2012    source источник
comment
Мысль секционирование предназначалось для защиты данных.   -  person Mike Purcell    schedule 17.03.2012
comment
@MikePurcell Это хорошая статья о настройке производительности с использованием разделов blog.mayflower.de/archives/   -  person Paul    schedule 17.03.2012


Ответы (1)


Слайд 39 имеет следующее название:

Benchmarking partitions - ISOLATION
- Try to reproduce working conditions
- no other services running while benchmarking
- restart the server before each test
- Do NOT mix partitioned and unpartitioned tables in the same server
- Use MySQL sandbox

Обратите внимание, что этот слайд только относится к проблемам изоляции при сравнительном тестировании!
Он не относится к запуску вашего сервера.
Если у вас есть таблица A и таблица B с идентичными данными и макетом, оба должны быть секционированы, иначе вы получите разные результаты.
Это не относится к сценарию, в котором у вас есть большая секционированная таблица, которая ссылается на меньшие таблицы, которые не являются секционированными, потому что это не делает смысла разбивать небольшие таблицы.

Есть ли какое-то требование, чтобы все таблицы были секционированы при секционировании одной?

Нет

Нет абсолютно никакой проблемы в смешивании секционированных и обычных таблиц в базе данных.
На самом деле только несколько ключевых таблиц должны быть секционированы, остальные не должны быть секционированы.

@Mike Purcell: разбиение на разделы не предназначено для защиты данных, оно предназначено для ускорения доступа к данным, позволяя легче исключить нерелевантные данные из поиска.

Рассмотрим файл журнала, разделенный по месяцам.
Обычно вас интересует только узкий временной интервал файла журнала, поэтому разделение позволит MySQL учитывать гораздо меньшую часть данных при просмотре журнала за определенный период.

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

person Johan    schedule 16.03.2012
comment
Спасибо! У меня есть связанный с этим вопрос, который вас также может заинтересовать: stackoverflow.com/questions/9742905/ - person Paul; 17.03.2012
comment
@Johan: Спасибо за информацию. Я слышал о разбиении на разделы и осколках в подобных контекстах, отсюда и мое замешательство. - person Mike Purcell; 17.03.2012