MySql优化1——SQL语句优化

一、尽量不要在sql语句中执行运算

// 原句:
select * from table where year(date) > 2011;

// 优化后:
select * from table where d > ‘2011-1-1

二、使用join时应小结果集驱动大结果集

同时应该把复杂的join查询拆分成多个query,因为query多个表时可能导致更多的锁定和堵塞。

select * from a join b on a.id=b.id
   left join c onleft join d onleft join e on

三、link查询时%%

// 原句:
select * from table where name like %d%;

// 优化后:
select * from table where name >= ad and name <= zdz;

四、仅列出需要查询的字段

这对速度不会有明显影响,主要考虑节省内存

五、使用批量交互语句节省内存

// 原句:
intert into table values(1,1);
intert into table values(2,2);
intert into table values(3,3);

// 优化后:
insert into table values(1,2),(2,3),(3,3);

六、limit的基数比较大时使用between

// 原句:
select * from talbe limit 10000,10

// 优化后:
select * from talbe where id between 10000 and 10010

七、不要使用rand函数获取多条随机记录

// 原句 
select * from from talbe order by rand() limit 20;

// 优化后:以下这样是随机取一条记录,然后用程序执行20次,这样效率比rand高
select * from table …..  limit 1  

八、避免使用null

九、不要使用commit(id),而要使用commit(*);

十、尽量不要做无谓的排序操作,而应该在索引中完成排序。

推荐:

MySql优化2——索引与性能分析

MySql优化3——服务器与配置优化

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值