sql >> Database teknologi >  >> RDS >> Mysql

mysql select-forespørgselsoptimering og hvordan limit virker i mysql

Regelmæssig indeksering kan ikke bruges til at forbedre denne forespørgsel. MySQL-indekser er B-træer, hvilket betyder, at de meget hurtigt kan finde et præfiks til den indekserede kolonne. Men siden din LIKE forespørgslen har % i begyndelsen er der ikke noget unikt præfiks at søge efter. Så hver række skal scannes for at matche mønsteret.

MySQL understøtter dog også fuldtekstsøgning. Dette opretter et indeks over alle ordene i kolonnen, og det kan hurtigt finde disse ord. Se dokumentationen for detaljer.

Hvis du bruger LIMIT 10 , stopper den med at scanne, så snart den finder de første 10 rækker, der opfylder betingelserne. Medmindre du også bruger ORDER BY -- så skal den finde alle rækkerne, så den kan sortere dem, før den vælger de første 10.




  1. Bestil først efter specifik feltværdi

  2. Beregn fortjeneste baseret på First-In, First-Out-priser

  3. PreparedStatement:Kan jeg angive kolonnenavnet som parameter?

  4. Mysql+php, hvordan laver man et link, der viser alle data fra en post, når man trykker på overskriften