mysql优化的一些建议

1.为查询缓存优化查询

当很多相同的查询语句被执行了多次的时候,这些查询结果会被放到一个缓存中

2.善用EXPLAIN

3.若已确定只查询一条数据,加上LIMIT 1

   特定场景 查找是否存在 SELECT 1

4.建索引

5.join的字段

  应建索引,且最好是相同的类型

6.千万不要 ORDER BY RAND()

7.避免SELECT *

8.永远为每张表设置一个id

9.尽量使用ENUM而不是VARCHAR

10.从PROCEDURE ANALYSE() 获取建议

11.尽可能地使用NOT NULL

  注意 a.不要以为NULL不需要空间

          b注意.EMPTY和NULL的区别

12.Prepared Statements

13.无缓冲的查询

14.把IP地址存成INT

     注 php long2ip 和 ip2long

15.固定长度的表会更快

     如果表中的所有字段都是固定长度的,整个表会被认为是static或者fiexd-length

     例如表中没有如下字段

     VARCHAR TEXT BLOB

 性能提升:搜索得会快一些,因为是固定长度的,下一条数据的偏移量比较好计算,否则需要找到主键

 并且更容易缓存和重建

 副作用:会浪费一些空间

16.垂直分割

    更新会导致查询缓存被清空

    不要经常性地去join

17.拆分大的DELETE或INSERT

18.越小的列会越快

19.选择正确的存储引擎

   innoDB 和 MyISAM

   MyISAM适合一些需要大量查询的应用

   innoDB写操作比较多的时候会更优秀

20.使用一个对象关系映射器

     Object Relational Mpper

     Lazy Loading

    DRM Doctrine

21.小心永久连接


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值