SQL Tuning eller SQL optimalisering

Innholdsfortegnelse

Noen søk bruker mer ressurser enn andre. For eksempel er spørsmål som returnerer store resultatsett og de som inneholder WHERE -ledd som ikke er unike, alltid ressurskrevende. Ingen grad av intelligens i sql -databaser gjør en god jobb med å optimalisere spørringer, og de kan heller ikke eliminere ressurskostnadene for disse konstruksjonene sammenlignet med en mindre kompleks spørring.
Vi kan få de samme resultatene ved å skrive forskjellige SQL -spørringer. Men det er viktig å bruke den beste spørringen når du vurderer ytelse. SQL Tuning er prosessen med å sikre at SQL -setningene som et program genererer vil bli utført på kortest mulig tid. Disse SQL -spørringene kan optimaliseres for bedre ytelse.
Optimaliseringsteknikker eller SQL Tuning
Deretter vil vi se noen optimaliseringsteknikker
SAK 1: SQL -spørringen blir raskere hvis du bruker navnene på feltene enn * som spørringen for alle feltene i tabellen
VELG * FRA klienter

Det er mer optimalt å skrive spørringen på denne måten
VELG ID, navn, adresse FRA klienter

SAK 2: HAVING -klausulen brukes til å filtrere radene etter at alle radene er valgt.
 VELG emne, telle (studenter) number_students FRA registrerte WHERE subject = 'Chemistry' AND subject = 'History' GROUP BY subject;

Det er mer optimalt å skrive spørringen på denne måten
 SELECTmateria, count (students) number_alumnos FRA registrerte GROUP BY subject HAVING subject = 'Chemistry' AND subject = 'History'

SAK 3: Noen ganger kan vi ha mer enn én undersøkelse i hovedforespørselen. La oss se i eksemplet nedenfor hvordan du minimerer undersøkelsesblokken i spørringen din.
Vi konsulterer den eldste og best betalte medarbeideren.
 VELG navn FRA ansatte HVOR lønn = (VELG MAKS (lønn) FRA ansatte) OG alder = (VELG MAKS (alder) FRA ansatte) OG kategori = 'Elektronikk';

Det er mer optimalt å skrive spørringen på følgende måte
 VELG navn fra ansatte HVOR (lønn, alder) = (VELG MAKS (lønn), MAKS (alder) FRA ansatte) OG element = 'Elektronikk';

SAK 4: Å bruke EXISTS, IN -operatøren og tabellforbindelser på riktig måte i spørringen din er viktig, da det er transaksjoner som bremser tilgangen til data.
Vanligvis tregeste ytelse i canda -forespørsel.
IN er effektivt når de fleste filterkriteriene er i undersøkelsen.
Eksist er effektivt når de fleste filterkriteriene er i hovedspørringen.
La oss se noen eksempler
 Velg * fra produkt p der product_id IN (velg product_id fra bestillinger)

Det er mer optimalt å skrive det slik
 Velg * fra produkt der EKSISTERER (velg * fra bestillinger der orders.product_id = product.product_id)

Bruk eksistere i stedet for TYDELIG
Eksempel se hvilke kategorier som har bøker tilgjengelig
 VELG DISTINKT kategorier.id, kategorier.kategorier FRA kategorier, bøker HVOR kategorier.id = bøker.idkategori;

Det er mer optimalt å skrive spørringen som følger
 VELG DISTINKT kategorier.id, kategorier.kategorier FRA kategorier HVOR FESTER (VELG 'X' FRA bøker HVOR bøker.idkategori = kategorier.id);

Dette er noen tips som vil spare ressurser når du utfører sql -spørringer og dermed også har et program med raskere svar.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave