MySQL统计和分析技巧

1.MySQL如果要修改字段的默认值,
一是mysql> ALTER TABLE sakila.film -> MODIFY COLUMN rental_duration TINYINT(3) NOT NULL DEFAULT 5;
二是mysql> ALTER TABLE sakila.film -> ALTER COLUMN rental_duration SET DEFAULT 5; 

第二种非常快,因为只修改了.frm文件。第一种?copy 表!


2.MySQL的状态值很多都是累计值,想快速看到变化值,可用此命令: 
mysqladmin -hxxxx -umysqlha -pxxxx -Pxxxx ext -i1 | awk ‘ /Queries/{q=$4-qp;qp=$4} /Com_insert /{insert=$4-insertp;insertp=$4} /Threads_connected/{tc=$4} /Threads_running/{printf “%5d %5d %5d %5dn”, q, insert, tc, $4}’,

还可以用/usr/local/my51/bin/mysqladmin -hhostname -uuser -p -P4697 -i1 extended-status -r |egrep “Com_insert |Com_select”


3.SELECT SUM(id = 2), SUM(name = ‘a’) FROM t3 可以统计出每个字段符合条件的数量


4.CREATE TABLE innodb_lock_monitor(a int) ENGINE=INNODB;

在show engine innodb status中可以显示更详细的死锁信息,同时每隔16秒分输出show engine innodb status结果到error log


5.awk ‘/^# Time:/{print $3, $4, c;c=0}/^# User/{c++}’ slow-query.log 可以显示慢查询时间分布


6.mysql -hhostname -uuser -ppwd-P4901 -e “show processlistG”|grep State: |sort|uniq -c|sort -rn 可以对processlist状态进行分类统计


7.select id,group_concat(distinct name order by name separator ‘:’) from t4 group by id; 可以进行字符串分组拼接


8.同时查看多个status,show status where variable_name like 'Uptime' or variable_name like 'Threads_cached';



摘录:http://www.iamcjd.com/?p=1269



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值