請協助看mysql指令作用~
时间:2010-10-01
来源:互联网
来源:http://hi.baidu.com/brucelei/blog/item/db22b2cbcfa0411abf09e6b1.html
1 ------------------analyze_table.sh---------------------------
2 #!/bin/bash
3 #
4 # mysql
5 # --batch don't use history
6 # --skip-column-names don't write colum name
7 # -e execute the statment and quit
8 #
9 MYSQL_DIR=/usr
10 USERNAME=root
11 PASSWORD=root
12 SOCKET="/var/run/mysqld/mysqld.sock"
13 DBNAMES="`$MYSQL_DIR/bin/mysql --user=$USERNAME --password=$PASSWORD \
14 --socket=$SOCKET --batch --skip-column-names -e "show databases"| sed 's/ /%/g'`"
15
16 for DB in $DBNAMES;do
17 echo "start analyze database:"$DB"......"
18 TABLENAMES="`$MYSQL_DIR/bin/mysql --user=$USERNAME --password=$PASSWORD \
19 --socket=$SOCKET --batch --skip-column-names --database=$DB -e "show tables"| sed 's/ /%/g'`"
20
21 for TABLE in $TABLENAMES; do
22 $MYSQL_DIR/bin/mysql --user=$USERNAME --password=$PASSWORD \
23 --socket=$SOCKET --batch --skip-column-names --database=$DB -e "analyze table $TABLE"
24 done
25 done
26 exit 0
~
请问PM们,原作者是说mysql 执行一段时间就会变慢,然后使用上述语法定期执行,但不懂的地方,执行上面为什么就可以改善mysql 变慢的状况,是什么原理
1 ------------------analyze_table.sh---------------------------
2 #!/bin/bash
3 #
4 # mysql
5 # --batch don't use history
6 # --skip-column-names don't write colum name
7 # -e execute the statment and quit
8 #
9 MYSQL_DIR=/usr
10 USERNAME=root
11 PASSWORD=root
12 SOCKET="/var/run/mysqld/mysqld.sock"
13 DBNAMES="`$MYSQL_DIR/bin/mysql --user=$USERNAME --password=$PASSWORD \
14 --socket=$SOCKET --batch --skip-column-names -e "show databases"| sed 's/ /%/g'`"
15
16 for DB in $DBNAMES;do
17 echo "start analyze database:"$DB"......"
18 TABLENAMES="`$MYSQL_DIR/bin/mysql --user=$USERNAME --password=$PASSWORD \
19 --socket=$SOCKET --batch --skip-column-names --database=$DB -e "show tables"| sed 's/ /%/g'`"
20
21 for TABLE in $TABLENAMES; do
22 $MYSQL_DIR/bin/mysql --user=$USERNAME --password=$PASSWORD \
23 --socket=$SOCKET --batch --skip-column-names --database=$DB -e "analyze table $TABLE"
24 done
25 done
26 exit 0
~
请问PM们,原作者是说mysql 执行一段时间就会变慢,然后使用上述语法定期执行,但不懂的地方,执行上面为什么就可以改善mysql 变慢的状况,是什么原理
作者: joe0120 发布时间: 2010-10-01
http://dev.mysql.com/doc/refman/5.1/en/analyze-table.html
http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html
简单的来说..那个 script 把所有的资料表都抓出来 analyze 了...
http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html
简单的来说..那个 script 把所有的资料表都抓出来 analyze 了...
作者: Darkhero 发布时间: 2010-10-01
MySQL 在删除资料时, 并不会释放出磁碟空间, 当删除很多资料时, 可以用OPTIMIZE TABLE(analyze table) 来把资料defrag 一下, 并且会释放出磁碟空间
原本要重100个Sector捞出资料,经过defrag后,可能只要30个Sector
而由硬碟捞资料又是资料库最慢的动作,所以一段时间defrag
原本要重100个Sector捞出资料,经过defrag后,可能只要30个Sector
而由硬碟捞资料又是资料库最慢的动作,所以一段时间defrag
作者: kengkeng 发布时间: 2010-10-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28