改善MySQL性能问题

在使用M主SQL开发中,总结出 改善MySQL性能的两个方面:

1.增加 tmp_table_size 值。mysql 的配置文件中,tmp_table_size 的默认大小是 32M。

如果一张临时表超出该大小,MySQL产生一个 The table tbl_name is full 形式的错误,

如果你做很多高级 GROUP BY 查询,增加 tmp_table_size 值。

例如:

my.ini

[mysqld]

tmp_table_size=300M

 

2.对 WHERE, JOIN2, MAX(), MIN(), ORDER BY 等子句中的条件判断中用到的字段,应该根据其建立

索引 INDEX。

索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读

完整个表直到它找出相关的行。表越大,花费时间越多。如果表对于查询的列有一个索引,MySQL能快速到

达一个位置去搜寻到数据文件的中间,没有必要考虑所有数据。如果一个表有1000行,这比顺序读取至少快

100倍。所有的MySQL索引(PRIMARY、UNIQUE和INDEX)在B树中存储。

 

快速找出匹配一个WHERE子句的行 当执行联结(JOIN)时,从其他表检索行。

对特定的索引列找出MAX()或MIN()值如果排序或分组在一个可用键的最左面前缀上进行(例如,ORDER BY

key_part_1,key_part_2),排序或分组一个表。如果所有键值部分跟随DESC,键以倒序被读取。

在一些情况中,一个查询能被优化来检索值,不用咨询数据文件。如果对某些表的所有使用的列

是数字型的并且构成某些键的最左面前缀,为了更快,值可以从索引树被检索出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值