คิวรี ตาราง และ view ทั้งหมดนี้คืออะไร

การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

Amy McCarty

Instructor

คิวรี

 

SELECT *
FROM ...
  • Table
    • Base table
    • Temporary table
  • View
    • View
    • Materialized view
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

Base table

 

คำอธิบาย พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้าง
บรรจุ ข้อมูล
โหลดข้อมูล กระบวนการ extract, transform, load (ETL)
แหล่งที่มา ระบบ HR, ระบบจัดการลูกค้า, การเก็บแบบสำรวจ ฯลฯ
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

Temporary table

 

คำอธิบาย พื้นที่จัดเก็บแบบมีโครงสร้าง (แถวและคอลัมน์)
บรรจุ ข้อมูล
โหลดข้อมูล คิวรี (ชั่วคราว)
แหล่งที่มา base table ที่มีอยู่

 

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

SELECT * FROM my_temptable
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

Standard view

 

คำอธิบาย คิวรีที่จัดเก็บไว้
บรรจุ คำสั่ง / view definition
โหลดข้อมูล ไม่มีการโหลด
แหล่งที่มา base table ที่มีอยู่

 

ประโยชน์ของ view

  • รวมตารางที่ join กันบ่อย
  • คอลัมน์ที่คำนวณแล้ว
    • ตัวชี้วัดสรุป
  • แสดงข้อมูลบางส่วนของตาราง
    • แสดงข้อมูลพนักงานแต่ซ่อนเงินเดือน
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

Materialized view

 

คำอธิบาย คิวรีที่จัดเก็บไว้ view
บรรจุ ข้อมูล table
โหลดข้อมูล กระบวนการ refresh table
แหล่งที่มา base table ที่มีอยู่ view

ประโยชน์ของ materialized view

  • เหมือน view ทั่วไป
    • เร็วกว่า
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

สรุปการอ้างอิงใน FROM clause

ประเภท วัตถุประสงค์
Table พื้นที่จัดเก็บหลัก
Temp table เพิ่มความเร็วเมื่อคิวรีตารางขนาดใหญ่
View ลอจิกซับซ้อนหรือฟิลด์ที่คำนวณแล้ว
Materialized view ลอจิกซับซ้อนที่ทำให้ประสิทธิภาพช้าลง
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

Information schema

  • ให้ข้อมูล metadata เกี่ยวกับฐานข้อมูล
  • มีในหลายฐานข้อมูล
    • PostgreSQL, SQL Server, MySQL

 

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

 

 

 

  • BASE TABLE : base table
  • LOCAL TEMPORARY : temporary table
  • VIEW : view หรือ materialized view
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

มาฝึกกันเถอะ!

การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

Preparing Video For Download...