Самый быстрый механизм хранения MySQL для хранения данных без параллелизма - PullRequest
4 голосов
/ 22 ноября 2010

Я использую базу mysql для хранения результатов различных тестов на большом количестве данных (сотни миллионов записей).

Я единственный пользователь базы, поэтому проблем с параллелизмом не возникнет. Я также хочу использовать простые математические функции, такие как 'avg', 'std' и т. Д.

Какой, по вашему мнению, двигатель для такой задачи?
Я сейчас использую InnoDB, и он мне кажется немного тяжелым.

Привет

Гийом

Ответы [ 3 ]

5 голосов
/ 22 ноября 2010

Использование таблицы InnoDB сопряжено с дополнительными затратами на поддержку транзакций, откатами и т. Д. Если вам не нужна эта поддержка транзакций, вам действительно следует использовать таблицу MyISam, так как она не поддерживает транзакции и может работать быстрее. для поиска и т. д. Они проделали большую работу над InnoDB, чтобы ускорить его, но всегда есть, с чем бороться. Я бы посоветовал еще кое-что почитать, прежде чем переключаться.

При наличии такой большой таблицы, как предложение таблицы памяти, могут возникнуть проблемы с производительностью и объемом памяти. Для таких таблиц я бы порекомендовал структуру MyISam или таблицу InnoDB с innodb_flush_log_at_trx_commit, установленным в 0 (это переключается в режим, в котором транзакции не фиксируются на диске до того, как управление возвращается вызывающей стороне).

1 голос
/ 14 ноября 2013

Токудб будет лучшей альтернативой.

Вы можете взглянуть на эти ссылки для большего обоснования: Tokudb Bench Mark для вставки и Сравнение Tokudb и InnoDB

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

0 голосов
/ 22 ноября 2010

Как вы думаете, кластерные индексы innodb каким-либо образом повысят производительность ваших запросов?

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

Дополнительная информация:

Оптимальные настройки MySQL для запросовкоторые доставляют большие объемы данных?

Перезапись mysql select для сокращения времени и запись tmp на диск

Если вы думаете, что нет, то, наверное, продолжайте с myisam.

...