sql >> Databasteknik >  >> RDS >> Mysql

Hur snabbar jag på sql-frågor? Index?

Index är viktiga för alla databaser.

På tal i "lekman"-termer, index är... ja, just det. Du kan tänka på ett index som en andra, dold tabell som lagrar två saker:den sorterade datan och en pekare till dess position i tabellen.

Några tumregler för att skapa index:

  1. Skapa index för varje fält som används (eller kommer att användas) i kopplingar.
  2. Skapa index på varje fält där du vill utföra ofta where villkor.
  3. Undvik att skapa index på allt. Skapa index på de relevanta fälten i varje tabell och använd relationer för att hämta önskad data.
  4. Undvik att skapa index på double fält, om det inte är absolut nödvändigt.
  5. Undvik att skapa index på varchar fält, om det inte är absolut nödvändigt.

Jag rekommenderar dig att läsa detta:http://dev. mysql.com/doc/refman/5.5/en/using-explain.html



  1. Finns det en Entity Framework 7 Database-First POCO Generator?

  2. MySQLi count(*) returnerar alltid 1

  3. SQLiteStatement kör en SELECT / INSERT / DELETE / UPDATE

  4. Hur extraherar man ett numeriskt värde från en sträng i en MySQL-fråga?