项目开发中,性能是我们比较关注的问题,特别是数据库的性能;作为一个开发,经常和SQL语句打交道,想要写出合格的SQL语句,我们需要了解SQL语句在数据库中是如何扫描表、如何使用索引的。
0:Index Scan 索引扫描

表结构

表结构.png

索引:

索引.png

1.最简单的SQL语句

select * from table2004

执行结果:

表查询.png

2.使用条件
select count(ReceiveDate) from table2004 where receivedate='2022-02-18 16:55:07.0'
查询结果:2 使用时间:70ms

3:使用Group by分组条件
select receivedate from table2004group by receivedate
查询结果: 使用时间:28ms

4:使用Group by分组条件并且使用条件
select EXTRACT(YEAR from ReceiveDate) from table2004 where EXTRACT(week from ReceiveDate)='6.0' group by EXTRACT(YEAR from ReceiveDate),EXTRACT(week from ReceiveDate),goodsname_level2
查询结果 使用时间1500ms

5:使用Left执行上同等查询
select left(to_char(ReceiveDate,'yyyy-MM'),4) from table2004 group by left(to_char(ReceiveDate,'yyyy-MM'),4)

查询结果  使用时间7880ms

猜想:使用了函数之后查询变得特别慢

五、type 提供了判断查询是否高效的重要依据依据.

参考文章:https://www.cnblogs.com/sunjingwu/p/10755823.html

标签: none

相关阅读

  • 测试信息
  • 开发商:阿里巴巴
  • 版本号:1.0
  • 配色:(企业家)” 推选活动结果
  • 测试信息
  • 测试信息
  • 测试信息