sql >> Database >  >> RDS >> PostgreSQL

Postgres volgorde door buitenlandse key performance?

Het verschil zit hier in de tweede regel van de EXPLAIN-uitvoer:

->  Sort  (cost=27.88..27.89 rows=7 width=198) (actual time=2984.688..2984.692 rows=28 loops=1)

Merk op dat de "werkelijke tijd" vrijwel de gehele tijd van de zoekopdracht is. Sorteren vereist niet alleen een heleboel vergelijkingen (d.w.z. de kosten om iets te sorteren), maar ook extra gegevensbeheer, de server moet sommige gegevens (rijen of verwijzingen naar rijen) naar een tijdelijke locatie kopiëren zodat deze kan worden gesorteerd zonder iets anders te storen .

Elke zoekopdracht duurt langer met sorteren, tenzij je geluk hebt en je sortering overeenkomt met de volgorde op de schijf en de optimizer kan merken dat ze overeenkomen.



  1. mysql gecombineerde unieke sleutels

  2. Hoe implementeer je een veel-op-veel-relatie in PostgreSQL?

  3. Hoe meerdere rijen samenvoegen?

  4. Slechte gewoonten:rijen tellen op de harde manier