Skip to content

AI SQL generation

Cách Data Explorer dùng schema context, AI routing, SQL Steps, và typed recommendations để biến yêu cầu tự nhiên thành SQL có thể dùng thật.

Luồng tạo SQL hiện tại

Data Explorer không còn là một luồng Gemini-only đơn giản. App hiện xây SQL flow bằng ba lớp: lấy schema context từ connection đang active, chọn provider bằng AI router, rồi chuẩn hóa output để editor và action cards dùng được an toàn.
01
Schema-aware context

Backend trích xuất metadata từ connection hiện tại: tables, columns, relationships, và một phần query context. AI không bị ép đoán tên bảng hoặc cột từ khoảng không.

02
Provider-aware routing

Routing mode trong UI chỉ là một lớp. Chain thực tế còn phụ thuộc explicit model/provider bạn chọn, việc prompt có ảnh hay không, và việc request có bị nhận diện là current-info hay không. Với SQL work thông thường, app ưu tiên chain text-capable an toàn.

03
Structured output + action cards

Nếu task là SQL/query work, backend cố trả về SQL rõ ràng, explanation, và recommendation cards như `query_fix`, `index_suggestion`, `schema_suggestion`, hoặc `chart_suggestion` để UI thao tác tiếp.

Vai trò model cho AI SQL

Trong `Cấu hình AI`, vai trò `AI SQL` cho phép bạn tách riêng model dùng cho sinh SQL khỏi model chat chung. Đây là điểm rất đáng dùng nếu bạn muốn phần chat thiên về đối thoại, còn phần SQL thiên về reasoning, cú pháp, hoặc tốc độ.

Dùng lại model của Assistant

Phù hợp khi bạn muốn giữ cấu hình đơn giản và chỉ quản lý một model chính cho đa số workflow.

Tách riêng model cho SQL

Phù hợp khi bạn muốn AI SQL dùng model khác cho optimize, fix query, index suggestion, hoặc các truy vấn dài nhiều join.

Routing modes

Auto

Mode mặc định cho phần lớn SQL work. App bắt đầu từ auto chain phù hợp rồi lọc theo capability thay vì luôn đẩy thẳng sang lane đắt nhất.

Fast / Cheap

Thiên về iteration nhanh và lane rẻ hơn, nhưng không ghi đè explicit provider nếu bạn đã khóa model cụ thể.

Best Quality

Hữu ích khi task cần reasoning, explain, rewrite, hoặc optimization sâu hơn. Nó nghiêng về lane mạnh hơn sớm hơn.

Gemini Only

Luôn dùng model Gemini bạn đã chọn. Hữu ích khi bạn cần đầu ra ổn định nhất hoặc muốn tránh provider khác.

Điểm rất dễ hiểu sai: nếu prompt bị nhận diện là cần thông tin hiện thời như “mới nhất”, “hôm nay”, hay “giá hiện tại”, router sẽ nghiêng về live-search chat behavior thay vì coi đó là một SQL generation request thuần.

SQL Steps / chạy tuần tự nhiều câu lệnh

Khi script có nhiều câu SQL, bạn có thể mở `SQL Steps` để tách script thành từng khối, kéo thả sắp xếp lại thứ tự, chỉnh sửa từng bước, thêm bước mới, rồi áp vào editor hoặc chạy tuần tự đúng theo thứ tự đã sắp.

Dùng khi nào?

Rất hợp cho script setup, seed dữ liệu, tạo bảng + insert + index + analyze, hoặc các luồng cần kiểm soát thứ tự thực thi rõ ràng.

Bạn làm được gì trong dialog?

Kéo thả lên xuống, dùng nút lên/xuống, xóa bước, thêm bước mới, sửa trực tiếp nội dung SQL của từng bước, rồi `Áp vào editor` hoặc `Chạy tuần tự`.

Ví dụ workflow nhiều bước

# Một script phổ biến trong SQL Steps

CREATE TABLE perf_orders_200k_v1 (...);

INSERT INTO perf_orders_200k_v1 (...) SELECT ...;

CREATE INDEX idx_perf_orders_tenant_id ON perf_orders_200k_v1(tenant_id);

ANALYZE perf_orders_200k_v1;

Prompt test hiệu quả

Những prompt tốt nhất là prompt có ý định rõ ràng: cần SQL mới, cần tối ưu, cần index, hay cần chart suggestion từ result set.
Tạo query mới

# Prompt mẫu

List top 10 customers by spending in Q4 2025 with order count and total revenue.

Tối ưu + gợi ý index

# Prompt mẫu

Optimize this query and give me actionable index recommendations with runnable SQL if possible.

Gợi ý biểu đồ

# Prompt mẫu

Suggest the best chart for this result set and explain which fields should be used.

Action cards & execution safety

Recommendation cards dưới bubble AI có thể chèn SQL vào editor hoặc chạy luôn nếu card có payload phù hợp. Tuy nhiên `Insert into editor` chỉ chèn SQL, còn `Run suggestion` mới là hành động thực thi và app sẽ hỏi xác nhận trước khi chạy SQL do AI sinh ra.

AI vẫn có thể gợi ý sai cột, sai bảng, hoặc sinh câu lệnh chưa phù hợp với dữ liệu thực tế. Hãy xem lại SQL trước khi chạy, đặc biệt với DDL, index creation, hoặc các thao tác có thể ảnh hưởng hiệu năng.

Sẵn sàng khám phá dữ liệu?

Tham gia cộng đồng trên GitHub để đóng góp cho IDE cơ sở dữ liệu địa phương thông minh nhất.

Mở Ứng dụng