sql >> Databasteknik >  >> RDS >> Mysql

Mysql Limit Performance

problemet med en tabell med 1 mill-poster kommer inte att vara AND id> 34000 LIMIT 10 eller LIMIT 34000, 10 det kommer upp till strukturen och resten av frågan. I.E det kommer att göra din fråga LÅNGSAM. Det är också upp till tabellens motor

Så förvänta dig inte att ändra gräns 10 kommer att göra stor skillnad. Det finns ett par verktyg som hjälper dig att bestämma en "bättre" fråga, men alla frågor fungerar inte likadant, så förvänta dig inte den "bästa lösningen" eftersom den inte finns.

Du kan använda Visa skapa tabell eller Beskriv välj ...... eller förklara för att se vad som händer, eller använd kommandot benchmark för att se den ungefärliga tiden för en funktion som du använder för att förbättra den

EDIT:

Vissa verktyg för MySQLI rekommenderar dig att ta en titt på det här programmet som hjälper dig med den här delen av prestanda.

  • Mysqlslap (det är som benchmark men du kan anpassa resultatet mer).
  • SysBench (testa CPU-prestanda, I/O-prestanda, mutex-konflikt, minneshastighet, databasprestanda).
  • Mysqltuner (med detta kan du analysera allmän statistik, lagringsmotorstatistik, prestandamått).
  • mk-query-profiler (utför analys av en SQL-sats).
  • mysqldumpslow (bra att veta att häxfrågor orsakar problem).


  1. Använder datum i en kontrollbegränsning, Oracle

  2. Azure App Service ImportError:libmysqlclient.so.18:kan inte öppna fil med delad objekt:Ingen sådan fil eller katalog

  3. Clustered och Non Clustered Index:7 topppoäng förklarade

  4. SLIPP TABELL OM FINNS i MySQL