数据库性能优化技巧

1.or使得索引失效的解决方案:

MySQL中的OR操作符可能会使索引失效,可以尝试将OR操作改为UNION ALL来实现相同的功能,这样可以有效地保持索引的有效性。另外,还可以考虑使用复合索引来解决OR问题,在大多数情况下也可以有效地提高查询的性能。

引申:union all与union的区别?什么是复合索引?索引原理B+树。

2.添加索引:

必要字段增加索引。如连接查询的连接字段,where中的字段。增加合适的索引是提升查询性能最简单粗暴有效的方式。

引申:索引应该加在哪个字段比较合适?除了索引,其他方式有使用缓存,读写分离,分区分表分库,异步(消息队列),多线程

3.使用代码优化:

避免在递归或for循环中操作数据库,非常耗费时间。可一次性查出需要的数据,然后在代码中进行数据处理

运算及复杂的逻辑进行拆分或放在代码中处理数据,而不是一次性一个sql全部处理,那样会使得sql很慢,理解和调优较难。

 

======

避免过早优化
在设计性能优化方案时,要注意避免过早优化,要考虑投入产出比。
在产品初期,只要性能不会特别影响用户体验,通常不需要特别关注性能问题。
可以把更多的精力投放到满足用户的核心需求,提高产品销量,让产品生存下来。
 
posted @ 2023-02-23 11:49  super超人  阅读(90)  评论(0)    收藏  举报