Millest alustada, kui sooviks õppida (PostgreSQLis) päringute optimeerimist?

Postitas Erki Eessaar 23.03.2023 10:37 (muudeti 27.08.2024 13:24)
Minu arvates võiks alustada sellest, et õppida kirjutama mitte-ebaefektiivseid päringuid (lihtsustamata tingimused, üleliigsete tabelite lugemine, samade andmete mitmekordne lugemine jne). Selleks, et detektiivina lausete aeglase täitmise põhjuste jälgi ajada, tuleb aru saada täitmisplaanis kasutatavatest operatsioonidest.
 
Päringute optimeerimisest üldiselt kirjutatakse SIIN.
 
Ebaefektiivsetest päringutest kirjutatakse SIIN (materjal "Andmebaasid I" kodulehel - kasutajanimi SIS2 ja parool SIS2).
 
PostgreSQL füüsilistes täitmisplaanides kajastuvad operatsioonid (lihtsad ja lühikesed seletused):
Võimalikud vahendid tekstiliselt esitatud täitmisplaanide paremaks struktureerimiseks ja visualiseerimiseks:
  • See vahend soovib sisendiks saada päringu täitmisplaani JSON formaadis. Seda saab andmebaasisüsteemilt küsida nii: EXPLAIN (FORMAT JSON) SELECT ...;
 
Seejärel soovitan tekitada endale isiklikku liivakasti andmebaasi 5-10 tabeliga, millest suurimas tehinguandmeid sisaldavas andmebaasis on vähemalt üks miljon rida sünteetilisi testandmeid. Kui edaspidi tekib küsimus, milline SQL lause lahendab kõige efektiivsemalt mõne ülesande, siis saab selle andmebaasi põhjal sõnastada ülesandele analoogilise ülesande ja teha katsetusi. SIIT leiab näiteid PostgreSQLi jaoks testandmete genereerimise kohta. Vihjeks võib öelda, et palju on abi PostgreSQL funktsioonist generate_series.

Hinda postitust:

Keskmine hinne : Pole veel hinnanguid!