problém s tabulkou s 1 milionem záznamů nebude AND id > 34000 LIMIT 10
nebo LIMIT 34000, 10
to bude až do struktury a zbytku dotazu. T.j. pro urychlení dotazu potřebujete index, PK, FK, kromě toho ho pravděpodobně zpomalí objednávka podle, aby bylo vyhledávání like '%text%'
váš dotaz bude POMALÝ. Také záleží na Engine tabulky
Nečekejte tedy, že změna limitu 10 bude znamenat obrovský rozdíl. Existuje několik nástrojů, které vám pomohou určit „lepší“ dotaz, ale ne všechny dotazy fungují stejně, takže neočekávejte „nejlepší řešení“, protože neexistuje.
Můžete použít Zobrazit create table
nebo Describe select ......
nebo explain
abyste viděli, co se děje, nebo použijte příkaz benchmark
zobrazíte přibližný čas funkce, kterou používáte k jejímu vylepšení
EDIT:
Některé nástroje pro MySQLI vám doporučí podívat se na tento program, který vám s touto částí výkonu pomůže.
- Mysqlslap (je to jako benchmark, ale výsledek si můžete více přizpůsobit).
- SysBench (test výkonu procesoru, I/O výkonu, mutexové soupeření, rychlost paměti, výkon databáze).
- Mysqltuner (pomocí tohoto nástroje můžete analyzovat obecné statistiky, statistiky úložiště, metriky výkonu).
- mk-query-profiler (provedení analýzy příkazu SQL).
- mysqldumpslow (dobré vědět, že dotazy způsobují problémy).