优化Mysql

优化Mysql


Mysql在大负载的时候,如何优化,更适合自己。看了车东的MySQL服务维护笔记,有点收获,简单总结如下。


程序端:

1. 尽量在程序总减少查询Mysql的次数,并且查询以后记得关闭链接,但是建议使用常连接,这样能够减少建立连接的开销。当然,如果能够

生成静态页是最好了。
2. 尽量不使用关联查询,最好一个操作只针对一个表,一次关联查询就是一次笛卡儿乘积,极度的耗费资源。如果需要查询多个表,尽量使用

多个程序来完成,让数据库的负担由程序分担一些。如果能够用left join解决的,就不要用inner join
3. 搜索的时候尽量少用like而改用全文搜索来提高效率
4. 进行统计这种实时性不是那么强的操作的时候最好能够生成静态的,定时进行统计,如果每次访问者访问的都是都对数据库进行统计查询将

非常耗费资源
5. 程序中如果能够把很多页面,特别是访问量大的页面生成静态,这是最好的


服务器端:

1. 如果Mysql的CPU占用率超过10%,就应该考虑优化了
2 安装的时候如果不使用innoDB,记得关闭:./configure --prefix=/home/mysql --without-innodb,因为它的速度比MyISAM的速度慢很多。
3. 如果有多个服务连接同一台Mysql服务器,相应单个MySQL服务的CPU占用仍然在10%以上, 就应该考虑把服务拆分到多端口来运行,这样还

能够增大Mysql的连接数
4. 设计数据库结构一定要合理,最常被访问的10%的数据放在一个小表里,90%的历史数据放在一个归档表里。将所有的定长字段(char, int

等)放在一个表里,所有的变长字段(varchar,text,blob等)放在另外一个表里,2个表之间通过主键关联,这样,定长字段表可以得到很大

的优化。
5. 给关键字段建立索引,建立索引和不建立索引差别真的很大,特别是大批量查询的时候


参考文章:

MySQL服务维护笔记
Java的全文索引引擎lucene的介绍

author: heiyeluren    05/09/07

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值