Tab Truy Vấn
TablePro sử dụng giao diện tab để làm việc với nhiều truy vấn và bảng đồng thời. Mỗi tab duy trì nội dung SQL, kết quả, phân trang, sắp xếp và trạng thái bộ lọc riêng của nó, vì vậy bạn có thể chuyển đổi giữa các tác vụ mà không mất ngữ cảnh.
Tổng Quan
Tab là không gian làm việc chính trong TablePro. Khi bạn kết nối với một cơ sở dữ liệu, bạn có thể mở nhiều tab tùy thích. Tab tồn tại qua các lần khởi động lại ứng dụng và mỗi kết nối ghi nhớ tập hợp tab riêng của nó.
Loại Tab
TablePro hỗ trợ ba loại tab, mỗi loại được thiết kế cho một quy trình làm việc khác nhau:
| Loại | Biểu Tượng | Mục Đích |
|---|
| Tab Truy Vấn | Biểu tượng tài liệu | Viết và thực thi các truy vấn SQL tùy chỉnh |
| Tab Bảng | Biểu tượng bảng (xanh dương) | Duyệt dữ liệu bảng với phân trang và lọc |
| Tab Tạo Bảng | Đặc biệt | Thiết kế và tạo bảng mới một cách trực quan |
Tab Truy Vấn
Tab truy vấn là trình soạn thảo SQL đa năng. Sử dụng chúng cho:
- Viết và chạy các truy vấn ad-hoc
- Khám phá dữ liệu với các câu lệnh SELECT tùy chỉnh
- Chạy các thao tác DDL hoặc DML
- Kiểm tra truy vấn trước khi thêm chúng vào ứng dụng của bạn
Tab truy vấn bắt đầu với trình soạn thảo trống. Gõ SQL của bạn và nhấn Cmd+Enter để thực thi.
Tab Bảng
Tab bảng được mở khi bạn click vào tên bảng trong sidebar. Chúng cung cấp:
- Tạo truy vấn
SELECT * FROM table LIMIT n tự động
- Phân trang phía server với các điều khiển điều hướng trang
- Chỉnh sửa inline với theo dõi thay đổi
- Chuyển đổi xem Structure để xem/sửa đổi schema bảng
- Hỗ trợ bộ lọc để thu hẹp kết quả
Tab bảng có thể chỉnh sửa theo mặc định. Tab truy vấn chỉ đọc trừ khi truy vấn là một câu lệnh SELECT * FROM table đơn giản.
Tái Sử Dụng Tab Thông Minh
Khi bạn click vào một bảng trong sidebar, TablePro sử dụng quản lý tab thông minh (tương tự TablePlus):
- Cùng bảng: Chuyển sang tab hiện có (không thực thi truy vấn mới)
- Bảng khác, tab sạch: Thay thế tab bảng hiện tại nếu nó không có thay đổi chưa lưu và không có tương tác người dùng
- Bảng khác, tab có thay đổi: Mở tab mới để bảo toàn công việc của bạn
Điều này giữ cho thanh tab sạch sẽ trong khi bảo vệ các thay đổi của bạn.
Quản Lý Tab
Tạo Tab
| Hành Động | Cách Thực Hiện |
|---|
| Tab truy vấn mới | Click vào nút + trong thanh tab, hoặc nhấn Cmd+T |
| Tab truy vấn mới (từ toolbar) | Click vào nút SQL trên toolbar |
| Tab bảng mới | Click vào tên bảng trong sidebar |
| Tab bảng mới (với truy vấn) | Mở tab truy vấn, sau đó sử dụng trình soạn thảo SQL |
Đóng Tab
| Hành Động | Cách Thực Hiện |
|---|
| Đóng tab hiện tại | Nhấn Cmd+W |
| Đóng tab cụ thể | Di chuột qua tab và click vào nút x |
| Đóng từ menu ngữ cảnh | Click phải vào tab và chọn Close Tab |
| Đóng các tab khác | Click phải vào tab và chọn Close Other Tabs |
Đóng tab có thay đổi chưa lưu sẽ loại bỏ những thay đổi đó. TablePro sẽ cảnh báo bạn trước khi đóng nếu có các sửa đổi dữ liệu đang chờ.
Chuyển Đổi Tab
Click vào bất kỳ tab nào trong thanh tab để chuyển sang nó, hoặc sử dụng phím tắt:
Cmd+1 đến Cmd+9 để nhảy đến tab theo vị trí
Cmd+Shift+[ hoặc Cmd+Option+Left cho tab trước
Cmd+Shift+] hoặc Cmd+Option+Right cho tab tiếp theo
Trạng thái của tab trước đó được bảo toàn hoàn toàn, bao gồm:
- Nội dung trình soạn thảo SQL và vị trí con trỏ
- Kết quả truy vấn
- Vị trí cuộn trong data grid
- Các hàng đã chọn
- Trạng thái sắp xếp và bộ lọc
- Các thay đổi đang chờ
Sắp Xếp Lại Tab
Kéo bất kỳ tab nào đến vị trí mới trong thanh tab để sắp xếp lại. Một chỉ báo chèn màu xanh sẽ hiển thị vị trí tab sẽ được đặt khi bạn thả.
Thanh tab cuộn ngang khi có nhiều tab hơn có thể hiển thị trong không gian có sẵn. Tab đang chọn sẽ tự động được cuộn vào vùng nhìn thấy.
Ghim Tab
Ghim các tab quan trọng để ngăn việc đóng nhầm:
- Click phải vào tab
- Chọn Pin Tab
- Một biểu tượng ghim xuất hiện trên tab
Tab đã ghim:
- Không thể đóng qua nút đóng,
Cmd+W, hoặc menu ngữ cảnh
- Không bị đóng khi bạn chọn Close Other Tabs
- Không bị thay thế khi click vào bảng khác trong sidebar
- Vẫn mở qua các phiên
Để bỏ ghim, click phải và chọn Unpin Tab.
Nhân Bản Tab
Để tạo bản sao của tab hiện có:
- Click phải vào tab
- Chọn Duplicate Tab
- Một tab mới mở với cùng nội dung truy vấn và kết quả
Tab được nhân bản được chèn ngay sau tab gốc.
Trạng Thái Tab
Mỗi tab lưu trữ một tập hợp trạng thái toàn diện được bảo toàn khi chuyển đổi giữa các tab.
Thuộc Tính Trạng Thái
| Thuộc Tính | Mô Tả |
|---|
| Tab ID | Mã định danh duy nhất (UUID) |
| Title | Tên hiển thị được hiển thị trong thanh tab |
| SQL Content | Văn bản truy vấn trong trình soạn thảo SQL |
| Tab Type | Truy vấn, bảng hoặc tạo bảng |
| Table Name | Tên bảng liên quan (cho tab bảng) |
| Result Columns | Tên cột từ truy vấn cuối cùng |
| Result Rows | Dữ liệu hàng từ truy vấn cuối cùng (được cache) |
| Column Types | Metadata kiểu dữ liệu cho định dạng |
| Execution Time | Thời lượng của truy vấn cuối cùng |
| Error Message | Lỗi từ truy vấn thất bại cuối cùng |
| Is Editable | Liệu chỉnh sửa inline có được bật hay không |
| Pagination State | Trang hiện tại, kích thước trang, tổng số hàng |
| Sort State | Cột sắp xếp và hướng |
| Filter State | Bộ lọc đang hoạt động và khả năng hiển thị |
| Pending Changes | Các sửa đổi dữ liệu đang chờ |
| Selected Rows | Các chỉ số hàng hiện được chọn |
| Result Version | Bộ đếm vô hiệu hóa cache |
Theo Dõi Thay Đổi Theo Tab
Mỗi tab duy trì các thay đổi đang chờ riêng của nó. Khi bạn chuyển sang tab khác:
- Các thay đổi của tab hiện tại được lưu vào thuộc tính
pendingChanges của tab
- Trình quản lý thay đổi tải các thay đổi đang chờ của tab mới
- Các chỉ báo trực quan cập nhật để phản ánh trạng thái của tab mới
Điều này có nghĩa là bạn có thể có các chỉnh sửa đang chờ trong nhiều tab đồng thời mà không bị can thiệp.
Tính Liên Tục Tab
Tab tồn tại qua các lần khởi động lại ứng dụng để bạn có thể tiếp tục chính xác nơi bạn đã dừng lại.
Những Gì Được Lưu Trữ
| Được Lưu | Không Được Lưu |
|---|
| Tab ID và tiêu đề | Kết quả truy vấn (được truy vấn lại khi mở lại) |
| Nội dung SQL | Các thay đổi dữ liệu đang chờ |
| Loại tab | Các hàng đã chọn |
| Tên bảng | Trạng thái sắp xếp và bộ lọc |
| Trạng thái ghim | Thời gian thực thi |
Cách Hoạt Động Của Tính Liên Tục
Tự Động Lưu Với Debounce
Trạng thái tab được tự động lưu 500ms sau bất kỳ thay đổi nào (debounce để tránh ghi liên tiếp nhanh)
Lưu Trữ Theo Kết Nối
Mỗi kết nối cơ sở dữ liệu có trạng thái tab được lưu riêng, được lưu trữ trong UserDefaults với khóa cụ thể cho kết nối
Khôi Phục Khi Kết Nối
Khi bạn kết nối lại với cơ sở dữ liệu, TablePro khôi phục các tab đã lưu và thực thi lại các truy vấn cho tab bảng
Xử Lý Đóng Cửa Sổ
Khi bạn đóng cửa sổ, bất kỳ lưu debounce đang chờ nào được đẩy ngay lập tức để ngăn mất dữ liệu
Bộ Nhớ Truy Vấn Cuối Cùng
TablePro cũng ghi nhớ văn bản truy vấn cuối cùng cho mỗi kết nối, tương tự TablePlus. Ngay cả khi bạn đóng tất cả các tab, truy vấn cuối cùng được bảo toàn và có thể được khôi phục khi bạn tạo tab mới.
Phân Trang Trong Tab
TablePro sử dụng các chiến lược phân trang khác nhau tùy thuộc vào loại tab.
Tab Bảng (Phân Trang Phía Server)
Tab bảng sử dụng SQL LIMIT và OFFSET cho phân trang:
- Chỉ trang dữ liệu hiện tại được tải từ cơ sở dữ liệu
- Điều hướng trang kích hoạt một truy vấn mới
- Kích thước trang mặc định có thể cấu hình trong Settings > Data Grid
| Điều Khiển | Hành Động |
|---|
| Trang đầu | Nhảy đến trang 1 |
| Trang trước | Quay lại một trang |
| Chỉ báo trang | Hiển thị trang hiện tại / tổng số trang |
| Trang tiếp theo | Tiến một trang |
| Trang cuối | Nhảy đến trang cuối cùng |
Phân trang phía server tiết kiệm bộ nhớ. Chỉ trang dữ liệu hiển thị được giữ trong bộ nhớ, ngay cả đối với các bảng có hàng triệu hàng.
Tab Truy Vấn (Phân Trang Phía Client)
Tab truy vấn thực thi truy vấn đầy đủ và nhận tất cả kết quả. Đối với các tập kết quả lớn, TablePro áp dụng phân trang phía client:
- Kết quả được lưu trữ trong bộ nhớ
- Phân trang cắt mảng kết quả mà không cần truy vấn lại
- Sắp xếp được thực hiện cục bộ trên kết quả được cache
Cấu Hình Kích Thước Trang
Cấu hình kích thước trang mặc định trong Settings > Data Grid:
| Tùy Chọn | Hàng Mỗi Trang |
|---|
| Nhỏ | 100 |
| Trung bình | 500 |
| Lớn | 1,000 |
| Tùy chỉnh | 10 - 100,000 |
Click phải vào bất kỳ tab nào để truy cập menu ngữ cảnh:
| Hành Động | Mô Tả |
|---|
| Duplicate Tab | Tạo bản sao của tab này |
| Pin Tab / Unpin Tab | Chuyển đổi trạng thái ghim |
| Close Tab | Đóng tab này |
| Close Other Tabs | Đóng tất cả các tab trừ tab này (tôn trọng các tab đã ghim) |
Phím Tắt
| Hành Động | Phím Tắt |
|---|
| Tab truy vấn mới | Cmd+T |
| Đóng tab hiện tại | Cmd+W |
| Bảng mới (tạo) | Cmd+Shift+N |
| Chuyển đến tab 1-9 | Cmd+1 đến Cmd+9 |
| Tab trước | Cmd+Shift+[ hoặc Cmd+Option+Left |
| Tab tiếp theo | Cmd+Shift+] hoặc Cmd+Option+Right |
Thực Hành Tốt Nhất
Tổ Chức Theo Tác Vụ
Sử dụng các tab riêng biệt cho các tác vụ khác nhau: một tab để khám phá dữ liệu, một tab khác để viết truy vấn migration, một tab khác để kiểm tra. Điều này giữ cho không gian làm việc của bạn có tổ chức.
Ghim Các Tab Quan Trọng
Ghim các tab chứa truy vấn bạn tham khảo thường xuyên. Điều này ngăn chúng bị đóng nhầm.
Sử Dụng Tab Bảng Để Duyệt
Khi bạn chỉ cần xem dữ liệu, click vào bảng trong sidebar để mở tab bảng. Điều này cung cấp cho bạn phân trang, chỉnh sửa và xem cấu trúc mà không cần viết SQL.
Sử Dụng Tab Truy Vấn Cho Công Việc Phức Tạp
Đối với join, aggregation, subquery và các thao tác nhiều câu lệnh, sử dụng tab truy vấn. Trình soạn thảo SQL cung cấp cho bạn toàn quyền kiểm soát những gì được thực thi.
Đóng Các Tab Không Sử Dụng
Mặc dù tab rất nhẹ, việc đóng các tab bạn không còn cần giữ cho thanh tab sạch sẽ và giúp dễ dàng tìm thấy những gì bạn đang tìm kiếm.
Các Bước Tiếp Theo