MYSQL的优化

78 篇文章 0 订阅
21 篇文章 0 订阅

 1)数据库的设计
1>尽可能使用更小的整数类型.(mediumint就比int更合适>
2>尽可能的定义字段为not null,除非这个字段需要null.
3>如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.
4>表的主索引应该尽可能的短.
5>只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存记录。如果总是要在表的组合字段上做搜索,那么就在这些字段上创建索引。索引的第一部分必须是最常使用的字段.
6>所有数据都得在保存到数据库前进行处理。
7>所有字段都得有默认值。
8>在某些情况下,把一个频繁扫描的表分成两个速度会快好多。

2)应用的优化
1>explain 复杂的SQL语句。
2>如果两个关联表要做比较话,做比较的字段必须类型和长度都一致.
3>LIMIT语句尽量要跟order by或者 distinct.这样可以避免做一次full table scan.
4>如果想要清空表的所有纪录,建议用truncate table tablename而不是delete from tablename.
5>使用load data infile来导入大量数据,这比单纯的indert快好多.
6>经常OPTIMIZE TABLE 来整理碎片.
7>还有就是date 类型的数据如果频繁要做比较的话,尽量保存在unsigned int 类型比较快。

3)硬件的优化
1>把数据分开存放到多个磁盘中,这样能加快搜索时间.
2>数据存放在主内存中;增加CPU的个数来处理数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值