이 '간단한'스크립트를 만들었습니다.
set @tables_like = null;
set @optimize = null;
set @show_tables = concat("show tables where", ifnull(concat(" `Tables_in_", database(), "` like '", @tables_like, "' and"), ''), " (@optimize:=concat_ws(',',@optimize,`Tables_in_", database() ,"`))");
Prepare `bd` from @show_tables;
EXECUTE `bd`;
DEALLOCATE PREPARE `bd`;
set @optimize := concat('optimize table ', @optimize);
PREPARE `sql` FROM @optimize;
EXECUTE `sql`;
DEALLOCATE PREPARE `sql`;
set @show_tables = null, @optimize = null, @tables_like = null;
실행하려면 데이터베이스에 연결된 SQL IDE에 붙여 넣기 만하면됩니다.
주의 사항 :이 코드 는 phpmyadmin에서 작동하지 않습니다 .
작동 원리
show tables
명령문을 실행하고 준비된 명령문에 저장합니다. 그런 다음 optimize table
선택한 세트에서 a 를 실행합니다 .
var에 다른 값을 설정하여 최적화 할 테이블을 제어 할 수 있습니다 @tables_like
(예 :) set @tables_like = '%test%';
.