Это в точности зависит от того, какая у вас проблема с производительностью.
Разбиение MySQL 5.1 позволяет вам разбить только первый бит первичного ключа. Это означает, что если вы хотите использовать любую полезную форму разбиения, часто желательно иметь составной первичный ключ.
Один из наиболее распространенных вариантов использования - это устаревшие данные, которые могут быть очень дорогими в неразделенных случаях. В этом случае вам нужно будет запустить первичный ключ с указанием даты / времени и раздела на нем.
Затем вы можете удалить строки, программно удалив старые разделы.
В других случаях ваши общие запросы могут извлечь выгоду из сокращения раздела.
Помните, что вы не можете исправить все проблемы с производительностью с разметкой; это не волшебство. Для запросов, которые не извлекают выгоду из сокращения раздела, каждый раздел должен быть запрошен. MySQL не делает это параллельно, поэтому обычно это происходит так же медленно, как использование таблицы без разделов.
- Определите, какие именно проблемы с производительностью
- Решите, сколько улучшений будет достаточно, чтобы их исправить
- Решите, сколько регрессии производительности вы могли бы допустить в других случаях использования
- Тестируйте, тестируйте, тестируйте и тестируйте снова на ваших производственных данных на производственном оборудовании на различных установках
- Повторяйте, пока не будете удовлетворены.
- Выполнить соответствующее функциональное тестирование; релиз!