На моя сървър с вашата конфигурация моята основна производителност е както следва:
- InnoDB:5.71s
- MyISAM:2,50 сек.
Това не е лошо в моята книга, но може да използва някои настройки.
Вашата InnoDB производителност може да бъде подобрена на няколко фронта:
Увеличете innodb_buffer_pool_size
- Това е единствената най-важна конфигурационна променлива на InnoDB. В идеалния случай трябва да е 70-80% от наличната ви RAM на сървър, посветен на MySQL и InnoDB.
- Увеличаване на
innodb_buffer_pool_size
на моя сървър до 2G (повече от достатъчно за този тест) намалено времето на InnoDB до 4.60s
Направете идентификатора ПЪРВИЧЕН КЛЮЧ
- InnoDB клъстерира своите данни въз основа на ПЪРВИЧЕН КЛЮЧ. Когато не декларирате такъв, InnoDB генерира произволен такъв имплицитно. Наличието на последователен първичен ключ (id) е по-бързо от произволен.
- Намаляването на идентификатора като ПРАВИЛЕН КЛЮЧ на сървъра ми е намалено времето на InnoDB до 3.80s
Надстройте своя MySQL/InnoDB
С MySQL 5.1+ MySQL поддържа плъзгащи се машини за съхранение. По-конкретно новият InnoDB Plugin .
Новият двигател InnoDB предоставя многобройни подобрения в производителността, които може да оказват значително влияние върху този конкретен тип заявка.
Забележка:
- От MySQL 5.1.38 плъгинът InnoDB е включен в MySQL
- От MySQL 5.1.43, плъгинът InnoDB не само е включен, но и е машината по подразбиране за MySQL