如何最佳化 MySQL 所有資料庫與表格的狀態

我寫了個 Shell Script 可以將「所有資料庫」的「所有表格」最佳化,如下:

#!/bin/sh

DBs=`echo "SHOW DATABASES" | mysql -u root`

db_row=0

for db in  $DBs  ; do
        let db_row++
        if [ $db_row -gt 1 ]; then

                echo ""
                echo "Optimizing database \`$db\` "
                echo ""

                TBs=`echo "SHOW TABLES" | mysql -u root $db`

                tb_row=0

                for tb in  $TBs  ; do
                        let tb_row++
                        if [ $tb_row -gt 1 ]; then
                                echo -n "Optimizing $db.$tb ... "
                                echo "OPTIMIZE TABLE \`$tb\`" | mysql -u root $db
                                echo "Done"
                        fi
                done
        fi
done

exit 0

  

此文章由 will 發表於 2007/12/19 下午 10:34:00

永久連結 | 評論 (1) | 此文章的RSSRSS comment feed |

分類: MySQL

標籤:

收藏:

相關文章

評論

九月 16. 2008 22:45

will

在 MySQL 5.0 版以後,可以用以下指令批次最佳化所有資料庫中的表格:

mysqlcheck --all-databases --optimize --auto-repair

will tw

新增評論


(將顯示您的Gravatar圖示)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



線上預覽

一月 7. 2009 03:31