Frågor, tabeller och vyer

Förbättra frågeprestanda i PostgreSQL

Amy McCarty

Instructor

Fråga

 

SELECT *
FROM ...
  • Tabell
    • Bastabell
    • Temporär tabell
  • Vy
    • Vy
    • Materialiserad vy
Förbättra frågeprestanda i PostgreSQL

Bastabell

 

Beskrivning organiserad lagring
Innehåller data
Laddas extract, transform, load (ETL)-process
Källa HR-system, klienthanteringssystem, enkätinsamling m.m.
Förbättra frågeprestanda i PostgreSQL

Temporär tabell

 

Beskrivning organiserad lagring (rader och kolumner)
Innehåller data
Laddas fråga (tillfällig)
Källa befintliga bastabeller

 

CREATE TEMP TABLE my_temptable AS 
SELECT * 
FROM survey_monkey_results
WHERE survey_date >= '2019-01-01';

SELECT * FROM my_temptable
Förbättra frågeprestanda i PostgreSQL

Standardvy

 

Beskrivning lagrad fråga
Innehåller instruktioner / vydefinition
Laddas aldrig
Källa befintliga bastabeller

 

Användningsområden för vy

  • Kombinera ofta sammanfogade tabeller
  • Beräknade kolumner
    • Sammanfattningsmått
  • Visa delar av en tabell
    • Visa anställda men dölj löner
Förbättra frågeprestanda i PostgreSQL

Materialiserad vy

 

Beskrivning lagrad fråga _vy_
Innehåller data tabell
Laddas uppdateringsprocess tabell
Källa befintliga bastabeller _vy_

Användningsområden för materialiserad vy

  • Samma som vy
    • Snabbare
Förbättra frågeprestanda i PostgreSQL

Sammanfattning av FROM-klausulreferenser

Vad Varför
Tabell grundlagring
Temporär tabell snabbar upp frågor mot stora tabeller
Vy komplex logik eller beräknade fält
Materialiserad vy komplex logik som annars försämrar prestanda
Förbättra frågeprestanda i PostgreSQL

Informationsschema

  • Tillhandahåller metadata om databasen
  • Finns i många databaser
    • PostgreSQL, SQL Server, MySQL

 

SELECT table_type 
FROM information_schema.tables 
WHERE table_catalog = 'orders_schema' 
AND table_name = 'customer_table'

 

 

 

  • BASE TABLE : bastabell
  • LOCAL TEMPORARY : temporär tabell
  • VIEW : vy eller materialiserad vy
Förbättra frågeprestanda i PostgreSQL

Nu kör vi en övning!

Förbättra frågeprestanda i PostgreSQL

Preparing Video For Download...