problemem z tabelą z rekordami 1 mill nie będzie AND id > 34000 LIMIT 10
lub LIMIT 34000, 10
to będzie do Struktury i reszty zapytania. Tzn. potrzebujesz indeksu, PK, FK, aby przyspieszyć zapytanie, poza tym zamówienie przez prawdopodobnie spowolni je, wykonaj wyszukiwanie like '%text%'
sprawi to, że Twoje zapytanie będzie WOLNE. Zależy to również od silnika stołu
Więc nie oczekuj, że zmiana limitu 10 zrobi ogromną różnicę. Istnieje kilka narzędzi, które pomogą Ci określić „lepsze” zapytanie, ale nie wszystkie zapytania działają tak samo, więc nie oczekuj „najlepszego rozwiązania”, ponieważ ono nie istnieje.
Możesz użyć Pokaż create table
lub Describe select ......
lub explain
aby zobaczyć, co się dzieje, lub użyj polecenia benchmark
aby zobaczyć przybliżony czas działania funkcji, którą stosujesz w celu jej ulepszenia
EDYCJA:
Niektóre narzędzia dla MySQL zalecą ci zapoznanie się z tym programem, który pomoże ci w tej części wydajności.
- Mysqlslap (to jak test porównawczy, ale możesz bardziej dostosować wynik).
- SysBench (testuj wydajność procesora, wydajność we/wy, rywalizacja o mutex, szybkość pamięci, wydajność bazy danych).
- Mysqltuner (za jego pomocą możesz analizować ogólne statystyki, statystyki silnika pamięci masowej, metryki wydajności).
- mk-query-profiler (przeprowadź analizę instrukcji SQL).
- mysqldumpslow (dobrze wiedzieć, że zapytania czarownic powodują problemy).