数据库MySQL查询优化那些事儿

本文介绍了数据库查询优化的几个关键原则:量体裁衣,避免全字段查询;以小博大,利用小表提升查询效率;一气呵成,避免循环中的数据库操作;恰到好处,善用limit减少数据量;大事化小,通过分页和查询条件优化;择善而从,选择合适的数据类型;遐迩一体,减少子查询使用;一马当先,合理建立索引。这些策略能显著提高数据库性能。
摘要由CSDN通过智能技术生成

量体裁衣

平时我们在从数据库获取数据的时候,非常喜欢使用select *来获取全部数据,这样当用户想要什么数据的时候,都可以获取到,但是这会造成数据获取时间的增大,正确的做法就是需要什么字段,就写什么字段,这样才能避免资源的浪费。

以小博大

当我们想要从两个不一样体量的表中获取数据的时候,我们应该尽量通过小表来进行条件判断,因为它的行数更少,条件判断查询更快。

需要注意的是,in 适合将小表放到条件里面,大表放到外面。而 exists 适合将小表放到前面,而大表放到后面,总之,就是最先通过小表进行查询过滤。

一气呵成

很多人喜欢在循环里面操作数据库,殊不知这是查询大忌。我们不应该在循环中进行数据库的操作,因为这会执行很多条 sql 语句,我们应该将要查询的数据通过循环进行封装,然后一次性批量地去数据库进行查询,通过一气呵成来查询。

恰到好处

在很多时候,我们查询数据的时候仅仅需要一条数据即可,但是很多时候我们却查询出了很多条数据。这些不必要的浪费大大增加了数据的开销,因此在查询的时候多多使用limit关键字是非常有好处的,它会大大缩短查询时间。

大事化小

当数据很多的时候,我们往往通过分页来解决查询数据的问题,但是当总的分页数据过多的时候,后面查询的分页速度会大大降低,这个时候我们可以通过设置查询条件来降低每次查询的条件过滤,将大事化小。

select id,name,des from user limit 1000000,20;
select id,name,des from user where id >1000000 limit 20;

择善而从

在创建数据库的时候,我们往往喜欢随意设置字段类型,而且喜欢将它设置得很大,防止以后数据的修改。其实,这是大大的错误,数据库之所以设计了不同类型的字段,就是为了让我们择善而从,选择最适合的类型。

如果字段长度基本固定,那么最好使用 char,否则选择 varchar,如果字段数据类型可以用数字类型,那么就不要使用字符串类型,因为数字类型的效率更高。对于高精度的数据,我们应该怎么使用 decimal 类型。

遐迩一体

很多时候,我们习惯通过子查询来查询数据,因为这样查询理解更简单,但是,这种不是一起查询的话,会导致查询效率大大降低,过多的使用子查询和联合查询,就会导致增加查询开销,占用更多的存储空间。

一马当先

当数据库中的数据量非常多的时候,而一些字段又是我们经常需要查找的字段的时候,我们就需要选出一些关键人物,也就是我们需要设置索引来加速检索,通过合理的设置索引,我们的查询将会得到最大程度的优化。​

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值