Na moim serwerze z twoją konfiguracją moja podstawowa wydajność jest następująca:
- InnoDB:5,71 s
- MyISAM:2,50 s
To nieźle w mojej książce, ale można to trochę poprawić.
Wydajność InnoDB można poprawić na kilku frontach:
Zwiększ innodb_buffer_pool_size
- Jest to najważniejsza pojedyncza zmienna konfiguracyjna InnoDB. Idealnie powinno to być 70-80% dostępnej pamięci RAM na serwerze dedykowanym dla MySQL i InnoDB.
- Zwiększenie
innodb_buffer_pool_size
na moim serwerze do 2G (więcej niż wystarczająco dla tego testu) zmniejszone czas InnoDB do 4,60s
Ustaw id jako KLUCZ PODSTAWOWY
- Klastry InnoDB to dane oparte o KLUCZ PODSTAWOWY. Jeśli go nie zadeklarujesz, InnoDB generuje losowy niejawnie. Posiadanie sekwencyjnego klucza podstawowego (id) jest szybsze niż losowego.
- Uczynienie id klucza podstawowego na moim serwerze zmniejszyło się czas InnoDB do 3,80s
Uaktualnij swój MySQL/InnoDB
Dzięki MySQL 5.1+ MySQL obsługuje podłączane silniki pamięci masowej. W szczególności nowa wtyczka InnoDB .
Nowy silnik InnoDB zapewnia wiele licznych ulepszeń wydajności, które może mają znaczący wpływ na ten konkretny typ zapytania.
Uwaga:
- Od wersji MySQL 5.1.38 wtyczka InnoDB jest zawarta w MySQL
- Od wersji MySQL 5.1.43 wtyczka InnoDB jest nie tylko dołączona, ale jest także domyślnym silnikiem dla MySQL