sql >> Databasteknik >  >> RDS >> Mysql

Varför gör MYSQL högre LIMIT offset långsammare frågan?

Jag hade exakt samma problem själv. Med tanke på det faktum att du vill samla in en stor mängd av denna data och inte en specifik uppsättning av 30 kommer du förmodligen att köra en loop och öka offseten med 30.

Så det du kan göra istället är:

  1. Håll det sista ID:t för en uppsättning data(30) (t.ex. lastId =530)
  2. Lägg till villkoret WHERE id > lastId limit 0,30

Så du kan alltid ha en NOLL offset. Du kommer att bli förvånad över prestandaförbättringen.



  1. sqlplus hur man hittar information om den för närvarande anslutna databassessionen

  2. Lista över datumformat som är tillgängliga med CONVERT() i SQL Server

  3. Primärnyckel i SQL:Allt du behöver veta om primärnyckeloperationer

  4. Grundläggande om tabelluttryck, del 3 – Härledda tabeller, optimeringsöverväganden