Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thực thi kết quả của một lựa chọn sql trong MySql

Bạn phải sử dụng báo cáo đã chuẩn bị sẵn .

SET @s:='';
SELECT @s:=concat(@s, 'OPTIMIZE TABLE `', ist.TABLE_SCHEMA,'`.',  ist.TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES ist where table_schema = 'my_schema';    
PREPARE stmt FROM @s;
EXECUTE stmt;

DEALLOCATE PREPARE stmt;

Nhưng bạn phải đặt tất cả các câu lệnh trong bảng tối ưu hóa vào một biến, đó là lý do tại sao tôi nối @s với chính nó. Nếu không, bạn sẽ phải làm việc với con trỏ, đây là công việc không cần thiết.

ANALYZE TABLE
OPTIMIZE TABLE
REPAIR TABLE

CHỈNH SỬA:Một cách tiếp cận đơn giản hơn nữa là:

SELECT CONCAT('OPTIMIZE TABLE `', ist.TABLE_SCHEMA,'`.',  ist.TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES ist WHERE table_schema = 'my_schema'
INTO OUTFILE '/tmp/my_optimization';
SOURCE 'tmp/my_optimization';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thực hiện 2 truy vấn cập nhật trong một giao dịch với JDBC

  2. JPA tồn tại nhiều đến nhiều

  3. Tạo thủ tục lưu trữ MySQL bằng JPA Hibernate

  4. Phân trang chính xác với các phép nối bên trái

  5. Đặt pdo ::truy vấn tĩnh