Đào tạo doanh nghiệpCơ sở Dữ liệu SQL & PostgreSQL Thực chiến: Thiết kế Schema, Tối ưu Truy vấn & Tích hợp AI pgvector
4/8

Giáo trình tự học miễn phí · Dịch vụ hỗ trợ theo nhu cầu.

Bài 0435phút ước tínhCơ bản đến Chuyên sâu

4. Đánh Index (B-Tree, GIN, Hash) & Tối Ưu Tốc Độ Truy Vấn Hàng Triệu Dòng Với EXPLAIN ANALYZE

Giải quyết bài toán nghẽn hiệu năng: Đọc kế hoạch thực thi Query Plan, đánh Index chính xác và tăng tốc độ truy vấn từ vài giây xuống mili-giây.

⚡ Các Loại Index Trong PostgreSQL

  • B-Tree Index (Mặc định): Phù hợp cho so sánh bằng =, so sánh khoảng <, >, sắp xếp ORDER BY.
  • GIN Index (Generalized Inverted Index): Phù hợp cho tìm kiếm Full-text search, mảng ARRAY, dữ liệu JSONB.
  • Partial Index: Chỉ đánh Index trên tập dữ liệu thỏa điều kiện (Ví dụ: WHERE status = 'active') giúp tiết kiệm RAM.
example.py
-- ĐỌC KẾ HOẠCH THỰC THI  TỐI ƯU TRUY VẤN
-- 1. Đo lường hiệu năng trước khi đánh Index
EXPLAIN ANALYZE 
SELECT * FROM orders WHERE customer_id = 45012 AND status = 'paid';

-- 2. Tạo Composite Partial Index tối ưu
CREATE INDEX idx_orders_customer_paid 
ON orders (customer_id, order_date DESC) 
WHERE status = 'paid';

-- 3. Đánh GIN Index cho cột dữ liệu JSONB
CREATE INDEX idx_products_attributes_gin ON products USING GIN (attributes);
Thực hành

Thực hành và tự đánh giá

Sử dụng EXPLAIN ANALYZE để kiểm tra chi phí truy vấn (Cost & Execution Time) trước và sau khi thêm Index trên bảng dữ liệu thử nghiệm.

🏢 BẠN MUỐN TRIỂN KHAI CHO CẢ PHÒNG BAN / DOANH NGHIỆP?
Đề Xuất Công Ty Tài Trợ & Đào Tạo In-House Trọn Gói

AI Tinh Gọn hỗ trợ khảo sát hiện trạng, kèm 1-1 on-premise bảo mật dữ liệu, setup hạ tầng riêng và xuất hóa đơn VAT hợp pháp cho doanh nghiệp.

⚖️ Bản quyền sở hữu trí tuệ: © 2026 AI Tinh Gọn (aitinhgon.vn) · Giấy phép Creative Commons CC BY-NC-ND 4.0. Cho phép tự học cá nhân, nghiêm cấm thương mại hóa hoặc bán lại. Giáo trình mở →

Tiến độ tự học lưu trên trình duyệt này. Chỉ đánh dấu khi đã kiểm tra sản phẩm thực hành.