2013-04-03 2 views
1

У меня есть таблица, которая в итоге будет содержать около 1,4 миллиарда записей, 11 столбцов, 3 первичных ключа.Вопросы, связанные с разделением MySQL MySQL

Я заполнил первые 1/3 таблицы, и время запроса уже довольно медленно. Я переформатировал несколько столбцов, чтобы уменьшить требования к пространству, одним из основных ключей является индексное целое число, которое ссылается на таблицу метаданных, где каждый индекс расширяется на 3 дополнительных параметра (эффективно нормализуя 6 первичных ключей до 3 первичных ключей).

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

Однако, как я узнаю, что такое правильное количество разделов? Мое первоначальное предположение было 8, и это слишком медленно. Я собирался попробовать 100, когда я подумал, что должен спросить, и Гуглинг не дал мне никаких полезных ответов.

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

+0

Какова структура медленного запроса? – Stoleg

ответ

3

Вот что вам нужно рассмотреть:

  • Максимальное количество разделов в MySQL 5.5+ 1024.
  • Вы можете изменить количество разделов без регенерации числа, хотя это требует перестроение индексов.
  • Разметка Скорости upqueries только если запрос показов меньше разделов, то у вас есть доступные ядра

Если запрос попадает все или несколько разделов, то partitioing таким образом не поможет им много. Существует также вероятность того, что ваша установка эффективна, но аппаратное обеспечение не способно быстрее производить результат.

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