Chuyển đến nội dung chính

Bạn dùng TablePro hằng ngày? License thêm tính năng trả phí và nuôi bản phát hành tiếp theo. Mua licenseMua license ủng hộ TablePro

Viết, chạy và phân tích query

Dành cho bất kỳ ai viết SQL trên cơ sở dữ liệu đang hoạt động: viết query với schema ngay trước mắt, chạy một câu lệnh hay cả script, giữ lại những query đáng giữ và tìm ra vì sao một query chậm đi. Mọi thứ ở đây có trong ứng dụng Mac; phần cuối nói về iPhone và iPad.
MaciPhone và iPad

Tính năng trả phí trên trang này: Query Insights (gói Starter) và Result Charts (gói Starter). Mọi thứ khác trên trang đều miễn phí.

Editor hiểu schema của bạn

Autocomplete đọc schema của connection ngay khi bạn gõ: tên table sau FROM và JOIN, các cột của một alias, và các cột của CTE hay subquery đã khai báo trước đó trong câu lệnh. Tô sáng cú pháp dùng tree-sitter, còn ⌘⇧L định dạng câu lệnh tại con trỏ mà vẫn giữ nguyên comment.

⌘⏎ chạy câu lệnh tại con trỏ hoặc phần đang chọn, ⌘⇧⏎ chạy tất cả, ⌘⌥⏎ chạy mà không giới hạn số dòng, và ⌘. để hủy. Một loạt câu lệnh thông thường chạy trong cùng một transaction và được rollback nếu có câu lỗi; ngoại lệ là script tự quản lý transaction, script SQL Server, câu lệnh không thể nằm trong transaction như VACUUM, và DDL trên MySQL, MariaDB và Oracle vốn tự commit.

  • Đánh dấu từng câu lệnh ở lề trái, mỗi câu có nút chạy riêng.
  • Tìm và thay thế, hỗ trợ biểu thức chính quy (regex).
  • Vim mode với motion, register và macro; :w sẽ chạy query.
  • Mở, sửa và lưu file .sql ngay trong một tab query.
SQL editor của TablePro với một query join CTE recent_orders với users, danh sách autocomplete hiển thị các cột của CTE.

Tham số, lịch sử và query đã lưu

Viết :customer_id trong query, TablePro sẽ hỏi giá trị và kiểu dữ liệu trước khi chạy, rồi bind giá trị theo cách native khi driver hỗ trợ.

Mọi query bạn chạy đều được ghi vào lịch sử trên máy (⌘Y), có tìm kiếm toàn văn và bộ lọc theo nguồn, theo query lỗi và theo khoảng thời gian. Mặc định lịch sử giữ 10.000 mục trong 90 ngày và không bao giờ được đồng bộ.

Lưu một query kèm từ khóa, chẳng hạn dau, rồi gõ từ khóa đó trong editor để chèn lại cả query. Query đã lưu có lịch sử phiên bản. Linked SQL folder đồng bộ hai chiều một thư mục file .sql với sidebar, kèm ký hiệu trạng thái Git cho từng file; tính năng này miễn phí và khác với Linked Folders, tính năng của gói Starter để chia sẻ file connection.

Một query dùng tham số :customer_id và :since, khung nhập giá trị tham số và ngăn lịch sử query.

Open Quickly và tab

Open Quickly (⌘⇧O) tìm table, view và system table trên mọi connection đang mở, cùng với query đã lưu và query gần đây. Mỗi tab giữ SQL, thứ tự sắp xếp, bộ lọc và độ rộng cột của riêng nó, và các tab được mở lại sau khi bạn thoát rồi mở lại ứng dụng; ⌃Tab chuyển qua lại giữa các tab vừa dùng.

Đọc execution plan, so sánh và theo dõi

EXPLAIN và EXPLAIN Compare

⌥⌘E hiển thị execution plan của query dưới dạng sơ đồ, dạng cây kèm thanh chi phí, hoặc nguyên văn kết quả của engine. Chọn một lần chạy trước của cùng query làm mốc, Compare sẽ cho biết query có chậm đi không và plan có thay đổi không; chênh lệch dưới 15% được coi là nhiễu. Cả hai đều miễn phí.

Ước tính chi phí bằng dry run
Google BigQuery
Engine SQL không có EXPLAIN
SQL Server, Oracle, Beancount
EXPLAIN Compare cho một query trên orders: plan đổi từ Index Scan sang Seq Scan và query chậm hơn so với lần đo gốc.

Query Insights

Query Insights: gói Starter

Query Insights đọc lịch sử query trên máy Mac này và xếp hạng những gì tìm được: các query chạy nhiều nhất, chậm nhất, hay lỗi, và những query chậm hơn so với giai đoạn trước. Query được gom theo dạng, nên cùng một câu lệnh chạy với giá trị khác nhau chỉ tính một lần. Số liệu được tính ngay trên máy Mac và không bao giờ được tải lên.

Query Insights trong 7 ngày qua, với biểu đồ số query thành công và thất bại mỗi ngày phía trên các mục Most Run, Slowest và Got Slower, trong đó một dạng query được đánh dấu Got Slower.

Kết quả dạng biểu đồ và bản đồ

Ngay trong một tab, kết quả có thể chuyển từ data grid sang biểu đồ hoặc bản đồ, rồi quay lại.

Result Charts

Result Charts: gói Starter

Vẽ kết quả thành biểu đồ cột, đường, vùng hoặc biểu đồ điểm (scatter), với trục thời gian cho cột ngày tháng và một series cho mỗi giá trị của cột bạn chọn. Một biểu đồ vẽ tối đa 2.000 điểm và 20 series từ 50.000 dòng đầu tiên, và thanh công cụ sẽ báo khi biểu đồ không vẽ hết dữ liệu.

Biểu đồ đường thể hiện doanh thu theo tháng từ table orders, mỗi trạng thái đơn hàng một đường.

Map view

Khi một cột chứa dữ liệu hình học dạng WKT, WKB, GeoJSON, tuple của ClickHouse hay geo_point của Elasticsearch, Map view vẽ chúng trên Apple Maps, và chọn một hình trên bản đồ sẽ chọn dòng tương ứng. Dữ liệu của bạn vẫn ở trên máy Mac; Apple chỉ cung cấp các ô bản đồ. Map view miễn phí.

Map view hiển thị các địa điểm dân cư từ một table PostGIS, điểm đang chọn (Paris) hiển thị trong row inspector.

Engine không dùng SQL

Với connection không dùng SQL, editor chuyển sang ngôn ngữ riêng của engine đó, và trang của từng engine nêu rõ những gì được hỗ trợ. Editor của MongoDB là một shell JavaScript kiểu mongosh chạy bên trong TablePro, không phải chính mongosh.

Ngôn ngữ query theo engine
MongoDB (MQL), Redis (Redis CLI), Cassandra (CQL), ScyllaDB (CQL), Amazon DynamoDB (PartiQL), Elasticsearch (Query DSL), etcd (etcdctl), Apache Kafka (KafkaQL), SurrealDB (SurrealQL), Typesense (Typesense API), Weaviate (GraphQL)

Trên iPhone và iPad

Ứng dụng cho iPhone và iPad có tab Truy vấn (Query) với tô sáng cú pháp SQL, nút Run và Stop (⌘↩ khi dùng bàn phím), và lịch sử 200 query gần nhất đã chạy trên thiết bị đó. Bạn có thể sao chép hoặc chia sẻ kết quả dưới dạng JSON, CSV hoặc câu lệnh SQL INSERT.

Ứng dụng không có autocomplete, định dạng query, tham số, EXPLAIN hay query đã lưu, và chỉ giữ tối đa 10.000 dòng của một kết quả, nên hãy thêm LIMIT để xem đúng phần bạn cần.

Dùng được ở đâu

Từng tính năng trên trang này, gói cần có trên Mac và những gì có trên iPhone và iPad
Tính năng
SQL editor có autocomplete và định dạngMac: Miễn phíiPhone và iPad: Tô sáng cú pháp, Run và Stop; không có autocomplete
Tham số trong queryMac: Miễn phíiPhone và iPad: Không có
Lịch sử queryMac: Miễn phíiPhone và iPad: 200 query gần nhất trên thiết bị
Query đã lưu và linked SQL folderMac: Miễn phíiPhone và iPad: Không có
Open QuicklyMac: Miễn phíiPhone và iPad: Không có
EXPLAIN và EXPLAIN CompareMac: Miễn phíiPhone và iPad: Không có
Query InsightsMac: Gói StarteriPhone và iPad: Không có
Result ChartsMac: Gói StarteriPhone và iPad: Không có
Map viewMac: Miễn phíiPhone và iPad: Không có
Sao chép hoặc chia sẻ kết quảMac: Miễn phíiPhone và iPad: Miễn phí

Giới hạn nên biết

  • Một query trả về tối đa 10.000 dòng, trừ khi bạn nâng giới hạn trong Cài đặt (tối đa 500.000) hoặc chạy bằng ⌘⌥⏎. LIMIT bạn tự viết luôn được ưu tiên.
  • Lịch sử query và Query Insights chỉ lấy dữ liệu trên máy Mac này: query chạy trên máy Mac khác hay trên iPhone không có trong đó.
  • Lệnh shell tablepro mở connection và file trong ứng dụng, không chạy query từ terminal.

Tải TablePro

TablePro là phần mềm mã nguồn mở, dùng miễn phí. Các gói trả phí bổ sung một số tính năng cho ứng dụng Mac.
Tải về cho Mac

macOS 13 Ventura trở lênApple silicon hoặc Intel

Tải về trên App Store

iPhone và iPadiOS và iPadOS 18 trở lên

Xem bảng giá