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

Hvordan bestemmer man, hvad der er mere effektivt:DISTINCT eller HVOR FINNES?

Brug EXISTS i stedet for DISTINCT

Du kan undertrykke visningen af ​​duplikerede rækker ved at bruge DISTINCT; du bruger EXISTS til at kontrollere, om der findes rækker, der returneres af en underforespørgsel. Når det er muligt, bør du bruge EXISTS frem for DISTINCT, fordi DISTINCT sorterer de hentede rækker, før du undertrykker de duplikerede rækker.

i dit tilfælde ville der være mange duplikerede data, så de eksisterer burde være hurtigere.

af http://my.safaribooksonline.com/ book/-/9780072229813/high-performance-sql-tuning/ch16lev1sec10




  1. Indsæt ny række med data beregnet fra andre rækker

  2. Forklar Planlæg Cost Pain Point

  3. Slet-knap virker ikke i CodeIgniter

  4. get_result() Virker ikke, selv mysqlnd er aktiveret