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

Optimering af MySQL-forespørgsel med flere venstre joinforbindelser

  • Sørg for, at du har indekser på de felter, der er i dine WHERE-sætninger og ON-betingelser, primære nøgler indekseres som standard, men du kan også oprette indekser manuelt, hvis du er nødt til det.
  • Tjek, om du virkelig skal vælge hver kolonne i alle tabellerne? Hvis ikke, så sørg for, at du kun vælger de kolonner, du har brug for, undgå at bruge vælg*

  • Dobbelttjek, om du virkelig har brug for LEFT JOINS, hvis nej, brug INNER JOINs.

  • Hvis ydeevnen stadig er et problem, efter du er færdig med at justere din forespørgsel, kan du overveje at denormalisere dit skema for at eliminere joinforbindelser

  • Du kan også overveje at reducere belastningen på databasen ved at bruge caching-applikationer som sphinxsearch og memcached

  • Tjek, at ingen af ​​dine joinforbindelser er til visninger i stedet for faktiske tabeller

referencer:

http://www.sphinxsearch.com

http://dev.mysql.com/doc/refman /5.0/da/create-index.html



  1. Hvordan kan jeg nulstille en MySQL AutoIncrement ved hjælp af en MAX-værdi fra en anden tabel?

  2. Opdater mysql-database fra datagridview valgte række

  3. Sådan opretter du flere en til ens

  4. mysql_connect() Forskel mellem localhost og 127.0.0.1