MYSQL优化原则

update ... select ... from ... where ... 你的瓶颈是在查询子句,并不是update的问题,优化完查询执行自然会上去。 -------------------------- 优化SQL查询的原则如下:

 1、使用索引来更快地遍历表。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。

在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在 对各种查询的分析和预测上。

一般来说: 

a.有大量重复值、且经常有范围查询( > ,< ,> =,< =)和order by、group by发生的列,可考 虑建立群集索引; 

b.经常同时存取多列,且每列都含有重复值可考虑建立组合索引; 

c.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。

索引虽有助于提高性能但不是索引越多越好,恰好相反过多的索引会导致系统低效。用户在表中每加进一个索引,维护索引集合就要做相应的更新工作。


 2、在海量查询时尽量少用格式转换。 

3、ORDER BY和GROPU BY使用ORDER BY和GROUP BY短语,任何一种索引都有助于SELECT的性能提高。 

5、任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。 

6、IN、OR子句常会使用工作表,使索引失效。如果不产生大量重复值,可以考虑把子句拆开。拆开的子句中应该包含索引。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL的查询优化原则主要包括以下几点: 1. 索引优化:合理创建索引可以大大提高查询效率。首先要根据实际业务需求和查询频率选择适当的字段创建索引,避免过多或者不必要的索引。同时,还要避免在查询条件中使用函数或者表达式,因为这会导致索引无法使用。另外,注意定期进行索引维护和碎片整理,以保证索引的有效性。 2. 查询语句优化:编写高效的查询语句是提高查询性能的关键。避免使用 SELECT *,只选择需要的字段,减少数据传输量。合理使用 JOIN,尽量避免多表联查。使用子查询时,注意子查询的性能影响。同时,还要注意避免使用 SELECT DISTINCT,因为它会对查询性能有较大影响。 3. 表结构优化:合理设计表结构可以提高查询效率。尽量避免使用过多的冗余字段和冗余表,避免数据冗余和更新异常。对于大表,可以考虑进行分区或者分表操作,将数据拆分存储以提高查询效率。 4. 避免全表扫描:全表扫描是性能瓶颈之一,应该尽量避免。通过合理的索引设计和查询优化,尽量让数据库使用索引进行查询,减少全表扫描的需求。 5. 参数调优:MySQL有一些关于性能调优的参数,例如缓冲区、连接数等,可以根据实际情况进行调整以提高查询性能。 6. SQL语句的重构:通过对SQL语句的重构,可以改善查询性能。例如,将多个查询合并成一个查询,使用 UNION ALL 替代 UNION,等等。 以上是常见的MySQL查询优化原则,根据具体情况可以综合考虑使用。同时,还可以通过使用MySQL的性能分析工具来定位和解决慢查询问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值