MySQL优化

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/MySQL优化/

  1. 为查询缓存优化你的查询
  2. NOW() 和 RAND()等函数会导致MySQL关闭查询缓存,应避免这种操作,用其他表达替代。
  3. EXPLAIN 你的 SELECT 查询
  4. select查询操作的具体过程细节,分析查询过程中可能的多于操作,从而修改SQL语句进行优化。
  5. 当只要一行数据时使用 LIMIT 1
  6. 查询到第一条符合条件立即停止搜索,省去查询后面的无用记录的耗时
  7. 为搜索字段建索引
  8. 在Join表的时候使用相同类型的列,并将其索引
  9. 千万不要 ORDER BY RAND():随机数耗资源
  10. 避免 SELECT *:占内存,分布式的话还占带宽
  11. 永远为每张表设置一个ID:主键最好是int自动增长,效率高
  12. 使用 ENUM 而不是 VARCHAR:民族、性别、国家这种有限子串的用枚举,效率高
  13. 从 PROCEDURE ANALYSE() 取得建议:MySQL的根据表中数据提供的优化建议
  14. 尽可能的使用 NOT NULL
  15. Prepared Statements:预编译、批处理、防SQL注入(不支持查询缓存)
  16. 把IP地址存成 UNSIGNED INT,匹配快
  17. 固定长度的表会更快
  18. 垂直分割:把表中不常用的列分到另外的表中
  19. 拆分大的 DELETE 或 INSERT 语句:(锁表)
  20. 越小的列会越快
  21. 选择正确的存储引擎:MyISAM(适用于查询多修改少,表锁)和InnoDB(行锁,事务,适合写)
  22. 使用一个对象关系映射器(Object Relational Mapper):(延迟加载)
  23. 小心“永久链接”:数据库连接对象维护(及时关闭连接或连接池对连接对象的重用)

 

参考博客:http://coolshell.cn/articles/1846.html

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/MySQL优化/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值