Mit SQL spricht man mit relationalen Datenbanken.
SELECT
WHERE
ORDER
INNER JOIN
, LEFT JOIN
GROUP BY
LIMIT
UPDATE
INSERT
and INSERT ... SELECT
DELETE
EXPLAIN ANALYZE
transaction
ist.index
ist
index
?MVCC
und warum braucht man das?VACUUM
ist und warum das regelmäßig laufen muss.hot_standby_feedback
zu Problemen mit VACUUM
und Indizes führen?JOIN
statementsStarte PostgreSQL mit einem Docker Container. Erstelle eine Datenbank mit dem Namen vacationplan
Erstelle 3 table
mit den folgenden column
s:
travel_destinations
: id, country, city, cost_per_day
tourists
: id, last_name, first_name
vacations
: tourist_id, travel_destination_id, travel_duration_days
Befülle deine vacationplan
Tabelle:
Lass dir mit einem SELECT
alle Urlaube anzeigen. Dabei sollen folgende column
s sichtbar sein: Vorname, Nachname, Reiseziel (Ort und Land) und die Reisedauer.
Dieter verlängert seine New York Reise auf 21 Tage. Aktualisiere das entsprechend.
Schreibe ein SELECT
das den Gesamtpreis für die Reisen ausgibt.
Erstelle einen neuen Touristen Dieter Dopf. Schreibe eine SELECT
query die dir Touristen mit dem Vornamen Dieter
ausgibt.
Befülle deine touristen Tabelle mit zufälligen Daten. Diese benötigst du damit die anderen Aufgaben gut funktionieren.
INSERT INTO tourists VALUES (generate_series(100, 1000), md5(random()::text), md5(random()::text));
Führe die vorherige SELECT
query mit EXPLAIN
und EXPLAIN ANALYZE
aus. Anschließend erstellst du einen Index für diesen Table mit dem Vornamen. Schau dir EXPLAIN
jetzt nochmal an.
Schau dir SELECT * FROM pg_file_settings;
an. Was wird die hier angezeigt?
Öffne zwei SQL Konsolen. In einer führst du select pg_sleep(5 * 60);
aus. In der anderen SELECT * FROM pg_stat_activity;
. Was kannst du hier sehen?
Schau dir den output von SELECT * FROM pg_stat_database;
an und besprich das mit deinem Mentor.
Besprich mit deinem Mentor Anhang A. Thema ist Multi Column Index
.
Schau dir zusammen mit deinem Mentor deine Datenbank an.
A B C
-------------
| | f | |
| 1 |---| |
| | t | |
|---|---| |
| | | |
| | f | 4 |
| 2 | | |
| |---| |
| | t | |
| |---| |
| | n | |
|---|---|---|