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

Hvilken er hurtigere en enkelt stor forespørgsel eller få små forespørgsler?

Hver "rundtur" til databasen vil have nogle overhead. Så jo færre rundrejser, jo mindre overhead. Overvej også, at færre anmodninger betyder færre pakker fra klient til server. Hvis resultatet af den konsoliderede forespørgsel giver dig lige det, du ønsker, så er enkelt forespørgsel vejen at gå. Hvis din enkeltforespørgsel returnerer ekstra eller overflødige data (måske på grund af denormalisering), kan de overheadbesparelser ved en enkelt rundrejse gå tabt i de ekstra data, der overføres.

En anden overvejelse er latens. Hvis forespørgslerne skal udfyldes i rækkefølge, fordi en del af outputtet fra den ene er nødvendig i input fra den næste, vil konsolidering til én forespørgsel skære alle netværksforsinkelserne ud mellem alle de individuelle mindre forespørgsler, så et endeligt resultat kan blive leveret hurtigere. Men hvis de mindre forespørgsler er uafhængige af hinanden, kan lancering af dem parallelt få alle resultaterne leveret hurtigere, omend mindre effektivt.

Nederste linje:svaret afhænger af de særlige forhold i din situation. Den bedste måde at få et svar på vil sandsynligvis være at implementere begge veje, teste og sammenligne ressourceforbruget for hver implementering.



  1. Er det muligt at flytte en post fra en tabel til en anden ved hjælp af en enkelt SQL-sætning?

  2. MySQL-injektionsbeskyttelse og sårbarhedstegn ved hjælp af PHP

  3. Kan ikke korrekt indsætte græske tegn i mysql-databasen

  4. Skift separator for WM_CONCAT-funktionen i Oracle 11gR2