优化查询

  1. 使用查询缓存(在配置好查询缓存和频繁查询这条数据的情况下有效,一点执行insert,delete,update等改变数据的操作或者truncate,alter table、drop table改变表结构的操作查询缓存失效)速度,一般来说: drop> truncate > delete
  2. sql中不能使用now(),rand(),curdate,等即时行高和可变性高的函数(时间函数如果是php的程序,可以用php的函数代替)
  3. 使用EXPLAIN
  4. 使用ENUM代替VARCHAR
  5. 当只要一行数据时使用LIMIT 1
  6. 尽量少使用null默认值设置或者插入值
  7. 把ip存储成unsigned int(无符号整型)mysql可以使用INET_ATON() 来把一个字符串IP转成一个整形,并使用 INET_NTOA() 把一个整形转成一个字符串IP。在PHP中的函数 ip2long() 和 long2ip()
  8. 使用一个对象关系映射器(Object Relational Mapper),orm
  9. 在跨多个不同的数据库时使用UNION,或者UNION ALL
  10. 过show命令查看MySQL状态及变量,找到系统的瓶颈:
  11. mysql>show status //显示状态信息
  12. mysql>show varibales;
  13. mysql>show innodb status 
  14. mysql>show processlist
  15. 使用慢查询日志:
  16. 使用profiling分析查询:
  17. mysql>set profiling=1; //执行测试sql语句
  18. mysql>select * from a;
  19. mysql>show profiles\G;
  20. mysql>show profile for query 1;








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值