MariaDB - Bảng tạm thời
Một số hoạt động có thể được hưởng lợi từ các bảng tạm thời do tốc độ hoặc dữ liệu dùng một lần. Tuổi thọ của một bảng tạm thời kết thúc khi kết thúc một phiên cho dù bạn sử dụng chúng từ dấu nhắc lệnh, bằng tập lệnh PHP hay thông qua chương trình khách. Nó cũng không xuất hiện trong hệ thống theo kiểu điển hình. Lệnh SHOW TABLES sẽ không hiển thị danh sách chứa các bảng tạm thời.
Tạo bảng tạm thời
Từ khóa TEMPORARY trong câu lệnh CREATE TABLE tạo ra một bảng tạm thời. Xem lại một ví dụ dưới đây -
mysql>CREATE TEMPORARY TABLE order (
item_name VARCHAR(50) NOT NULL
, price DECIMAL(7,2) NOT NULL DEFAULT 0.00
, quantity INT UNSIGNED NOT NULL DEFAULT 0
);
Khi tạo một bảng tạm thời, bạn có thể sao chép các bảng hiện có, nghĩa là tất cả các đặc điểm chung của chúng, với mệnh đề LIKE. Câu lệnh CREATE TABLE được sử dụng để tạo bảng tạm thời sẽ không thực hiện các giao dịch do kết quả của từ khóa TEMPORARY.
Mặc dù các bảng tạm thời khác với bảng không tạm thời và giảm xuống vào cuối phiên, chúng có thể có những xung đột nhất định -
Đôi khi chúng xung đột với các bảng tạm thời ma từ các phiên đã hết hạn.
Đôi khi chúng xung đột với tên bóng của các bảng không tạm thời.
Note - Các bảng tạm thời được phép có cùng tên với một bảng không phải tạm thời hiện có vì MariaDB xem nó như một tham chiếu khác biệt.
Hành chính
MariaDB yêu cầu cấp đặc quyền cho người dùng để tạo bảng tạm thời. Sử dụng câu lệnh GRANT để cấp đặc quyền này cho người dùng không phải quản trị viên.
GRANT CREATE TEMPORARY TABLES ON orders TO 'machine122'@'localhost';
Thả một bảng tạm thời
Mặc dù các bảng tạm thời về cơ bản sẽ bị xóa vào cuối phiên, bạn có tùy chọn xóa chúng. Việc loại bỏ bảng tạm thời yêu cầu sử dụng từ khóa TEMPORARY và các phương pháp hay nhất đề xuất loại bỏ bảng tạm thời trước bất kỳ bảng nào không tạm thời.
mysql> DROP TABLE order;