Bảng tạm thời (Temporary Tables) trong MariaDB
Trong một số trường hợp, sử dụng Temporary Tables mang lại hiệu suất cao hơn hoặc đáp ứng nhu cầu xử lý dữ liệu tạm thời. Temporary Tables chỉ tồn tại trong suốt thời gian của một phiên làm việc. Sau khi phiên kết thúc, bảng sẽ tự động bị xóa mà không cần thao tác thủ công. Đặc biệt, Temporary Tables không xuất hiện trong hệ thống như các bảng thông thường, ví dụ lệnh SHOW TABLES
sẽ không hiển thị các Temporary Tables.
![banquyen png](https://freetuts.net/public/banquyen.png)
Tạo Temporary Tables trong MariaDB
Sử dụng từ khóa TEMPORARY trong câu lệnh CREATE TABLE
để tạo Temporary Tables . Ví dụ:
CREATE TEMPORARY TABLE orders ( item_name VARCHAR(50) NOT NULL, price DECIMAL(7,2) NOT NULL DEFAULT 0.00, quantity INT UNSIGNED NOT NULL DEFAULT 0 );
Ngoài ra, bạn có thể tạo Temporary Tables dựa trên cấu trúc của bảng hiện có bằng cách sử dụng từ khóa LIKE:
CREATE TEMPORARY TABLE temp_orders LIKE orders;
Lưu ý:
- Temporary Tables sẽ không thực hiện cam kết giao dịch (
COMMIT
) ngay cả khi được tạo trong phiên giao dịch. - Temporary Tables có thể trùng tên với bảng thường mà không gây ra lỗi, vì MariaDB xem chúng là hai thực thể khác nhau.
- Tuy nhiên, có thể xảy ra xung đột với:
- Temporary Tables còn sót lại từ phiên làm việc đã hết hạn (ghost temporary tables).
- Tên Temporary Tables trùng với tên bóng mờ (shadow names) của bảng thường.
Quản lý Temporary Tables trong MariaDB
Quyền tạo Temporary Tables không tự động được cấp cho tất cả người dùng. Quản trị viên cần sử dụng câu lệnh GRANT
để cấp quyền này, ví dụ:
Bài viết này được đăng tại [free tuts .net]
GRANT CREATE TEMPORARY TABLES ON orders TO 'user123'@'localhost';
Xóa Temporary Tables
Dù Temporary Tables sẽ tự động bị xóa khi phiên làm việc kết thúc, bạn vẫn có thể xóa thủ công bằng câu lệnh:
DROP TEMPORARY TABLE orders;