access建立两个字段唯一索引_如何通过索引让 SQL 查询效率最大化

如何通过索引让 SQL 查询效率最大化

什么时候创建索引?

如果出现如下情况,可以创建索引。

  1. 字段的数值唯一性的限制 索引可以起到约束的作用,比如唯一索引,主键索引,都可以起到唯一约束的作用。当字段的数值唯一时,可以考虑建立唯一索引或者主键索引。
  2. 频繁作为 Where 查询条件的字段 在表数据量比较大的时候,某个字段在 SQL 查询的 where条件时,就学英语给这个字段创建索引。
SELECT comment_id, product_id, comment_text, comment_time, user_id FROM product_comment WHERE user_id = 7851

运行结果

ad70606a98dc3177306ed97f10dbcb7d.png

运⾏时间为0.699s,你能看到查询效率还是⽐较低的。当我们对user_id字段创建索引之后,运⾏时间为 0.047s,不到原来查询时间的1/10。

  1. 经常需要 Group By 和 Order By 的列

索引就是让数据按照某种顺序进行存储或检索,因此当我们使用 Group By 对数据查询或者使用 Order By 对数据进行排序的时候,就需要对分组或者排序字段建立索引。

SELECT user_id, count(*) as num FROM product_comment group by user_id limit 100

运⾏结果(100条记录,运⾏时间1.666s)

c99a68bc7db822bf4bd8c26cebfa8104.png

对 user_id 创建索引,再执行 SQL 语句

SELECT user_id, count(*) as num FROM product_comment group by user_id limit 100

运⾏结果(100条记录,运⾏时间0.042s):

fa53d2a35209f8d1633b7b88beb60f79.png

image

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值