Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Kuidas andmebaasisüsteemid andmebaasiserveris talletatud rutiine täidavad?

Erinevates andmebaasisüsteemides käib see erinevalt.PostgreSQLis saab rutiinide kirjutamiseks kasutada lisaks C ja SQL keeltele veel keeli. Neid teisi keeli nimetatakse protseduurilisteks keelteks (PL). Kõige populaarsem nendest on PL/pgS...


Kas PostgreSQLis on andmebaasis andmemuudatuste tegemiseks jõudluse (töökiiruse poolest paremad) SQL keelsed või PL/pgSQL keelsed funktsioonid?

Katsetuste järgi on PL/pgSQL keelsete funktsioonide jõudlus parem.Lõin katsetamiseks andmebaasi proc ja genereerisin sinna testandmed. Ühes tabelis oli üks miljon rida ja veel ühes viis miljonit rida. Seejärel lõin kaks funktsioo...


Mis on programm pgbench ja kuidas seda kasutada PostgreSQLis toimuvate andmebaasioperatsioonide jõudluse uurimiseks?

Tegemist on utiliidiga (kindla ülesandega programmiga), mis installeeritakse serverisse koos PostgreSQLi andmebaasisüsteemiga. Seda saab kasutada selleks, et hinnata erinevate disainivalikute või keskkonna juhtparameetrite mõju andmebaasioperatsiooni...


Süsteemi genereeritud võtmeväärtustena saab kasutada nii täisarve kui universaalselt unikaalseid identifikaatoreid (uuid). Millised on kummagi lähenemise eelised ja puudused?

Süsteemi genereeritud võtmeväärtustena võib kasutada täisarve. PostgreSQLis saab selleks kasutada SMALLSERIAL/SERIAL/BIGSERIAL notatsiooni või määrata, et vastav veerg on identiteedi veerg. Genereeritud väärtus on täisarv, mis on kas 2 baiti (SMALLSE...


Kuidas oleks PostgreSQLis töökiiruse mõttes kõige efektiivsem leida andmed ühest tabelist ja väljastada tulemuses ka tõeväärtus, mis leitakse teises tabelis olevate andmete põhjal?

Järgnev katsetus on tehtud PostgreSQL (16) põhjal.Andmebaasis on tabelid järgmise kontseptuaalse struktuuriga:[Person]-1----------0..*-[Health_care_visit]Tabelis Person on 70_000 rida.Tabelis Hea...


Kas Count(1) ridade arvu loendamiseks on kiirem kui Count(*)?

Oletame, et SQL-andmebaasis on tabel:Isik(isikukood, perenimi)Primaarvõti (isikukood)LauseSELECT Count(*) AS arvFROM Isik;leiab tabelis Isik olevate ridade...


Kui veebipõhises andmebaasirakenduses on vaja esitada päringu tulemusi lehekülgede kaupa, siis kuidas oleks kõige parem vastavat päringut andmebaasis teha?

Sellest kirjutatakse pikemalt SIIN,


Mis vahe on PostgreSQLis VARCHAR ja CHAR andmetüüpidel?

Kui CHAR(n) tüüpi veerus salvestatakse tekstiline väärtus, mis on lühem kui n märki, siis lisatakse salvestamisel väärtuse lõppu tühikud, et saavutada maksimaalne lubatud stringi pikkus. VARCHAR(n) tüüpi veeru korral seda ei tehta. Postgr...


Millal võiks olla kasu baastabeli arvutatud veergudest?

Arvutatud veeru puhul arvutatakse väljas olev väärtus teiste samas reas olevate väärtuste puhul ja salvestatakse kettale.


Mul on sellised ja sellised tabelid ning ma pean nende põhjal lahendama sellise ja sellise andmete otsimise ülesande. Milline oleks selle ülesande kõige parema jõudlusega lahendus?

Tuleb korraldada eksperiment ja erinevaid lahendusi katsetada. Kui Teil pole käepärast serverit, kus saate "liivakastis" mängida, siis isegi keskkonnas nagu DB Fiddle