Шардинг MySQL и производительность первичного ключа в InnoDB - PullRequest
1 голос
/ 30 августа 2010

У меня есть веб-сайт с текстами песен, и у меня есть одна таблица, в которой в основном хранится указатель песен;по существу, первичный ключ с автоинкрементом (song_id), исполнителем и названием песни.

Сами тексты песен хранятся в 10 фрагментах, каждый из которых основан на song_id MOD 10. Существует два столбца: song_id и song_lyrics.Поле song_id является первичным ключом, но не с автоинкрементом и хранит то же целое число, что и в индексной таблице.

Мой вопрос заключается в том, что из того, что я читал о InnoDB ипервичный ключ, это какой-нибудь удар по производительности, например, на осколке 0 строки song_id идут на 10, 20, 30 и т. д. и не являются последовательными?Я опасаюсь, что пропуск чисел в первичном ключе повлияет на производительность.

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

1 Ответ

1 голос
/ 30 августа 2010

при условии вставки данных в последовательном порядке, у вас не должно возникнуть проблем с производительностью.

http://dev.mysql.com/doc/refman/5.0/en/innodb-physical-structure.html

http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html

...