Запити, таблиці й подання — ого

Покращення продуктивності запитів у PostgreSQL

Amy McCarty

Instructor

Запит

 

SELECT *
FROM ...
  • Table
    • Базова таблиця
    • Тимчасова таблиця
  • View
    • Подання
    • Матеріалізоване подання
Покращення продуктивності запитів у PostgreSQL

Базова таблиця

 

Describe організоване сховище
Contains дані
Loaded процес extract, transform, load (ETL)
Source програма HR, система керування клієнтами, опитування тощо
Покращення продуктивності запитів у PostgreSQL

Тимчасова таблиця

 

Describe організоване сховище (рядки й стовпці)
Contains дані
Loaded запит (нетривале)
Source наявні базові таблиці

 

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

SELECT * FROM my_temptable
Покращення продуктивності запитів у PostgreSQL

Звичайне подання

 

Describe збережений запит
Contains інструкції / визначення подання
Loaded ніколи
Source наявні базові таблиці

 

Корисність подань

  • Об'єднувати часто з'єднувані таблиці
  • Обчислювані стовпці
    • Підсумкові метрики
  • Показувати частину даних таблиці
    • Показати працівників, але приховати зарплати
Покращення продуктивності запитів у PostgreSQL

Матеріалізоване подання

 

Describe збережений запит view
Contains дані table
Loaded процес оновлення table
Source наявні базові таблиці view

Корисність матеріалізованих подань

  • Як подання
    • Швидше
Покращення продуктивності запитів у PostgreSQL

Підсумок посилань у FROM

Що Навіщо
Table базове сховище
Temp table пришвидшує запит на великій таблиці
View складна логіка або обчислювані поля
Materialized view складна логіка, що сповільнює виконання
Покращення продуктивності запитів у PostgreSQL

Information schema

  • Надає метадані про базу даних
  • Є в багатьох СУБД
    • PostgreSQL, SQL Server, MySQL

 

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

 

 

 

  • BASE TABLE : базова таблиця
  • LOCAL TEMPORARY : тимчасова таблиця
  • VIEW : подання або матеріалізоване подання
Покращення продуктивності запитів у PostgreSQL

Давайте потренуємось!

Покращення продуктивності запитів у PostgreSQL

Preparing Video For Download...