BI-SQL丨INDEX

INDEX

INDEX,索引。索引在数仓中属于高级技能之一,也是很多HR面试的时候喜欢问的点。

索引可以用来对数据进行排序,并以此来加快搜索和排序。

这点和SUBSTITUTEWITHINDEX函数有点像。白茶在之前描述这个函数的时候曾经说过,这个函数属于高阶函数之一,出场率也不是很高,只有特定的场景可以使用。

这点和SQL中的INDEX有点类似,通常可以用来为原本的维度列新增索引列,以方便某些时候对维度的计算,可以将原本的文本信息转化为可参与计算的数值。

而在SQL中,INDEX表现的则更加纯粹。

基础语法

CREATE INDEX 索引名称
ON 表名称 (列名1,列名2...)
--我们可以设定根据一个维度索引,也可以是多个

注意事项

  • INDEX可以加快查询的速度,但是会增加维护的工作。
    例如:增删改都需要注意对INDEX的动态更新。

  • INDEX会增大存储空间。

  • 有的数据不适合做索引,例如我们国家的省份,数据量级不多。

  • 经常作为排序依据的数据,适合做索引。

面试场景:
数据库索引失效了,可能的原因是什么?
答:
有可能是数据变更的时候,未对索引进行维护更新。

使用实例

案例数据:

在白茶本机的数据库中,存在名为“TEST”的数据库,存在名为“产品表”的案例数据。

例子1:

根据商品名称,新增一列INDEX。

CREATE INDEX Product_INDEX
ON 产品表 (商品名称)

结果如下:

例子2:

根据商品名称,新增一列INDEX,要求不允许索引有重复项。

CREATE UNIQUE INDEX Product_DIS_INDEX
ON 产品表 (商品名称)

结果如下:

例子3:

根据商品名称,新增一列INDEX,要求不允许索引有重复项,且需要根据商品名称降序。

CREATE UNIQUE INDEX Product_DESC_INDEX
ON 产品表 (商品名称 DESC)

结果如下:

例子4:

根据商品名称和商品分类,新增一列INDEX,要求不允许索引有重复项。

CREATE UNIQUE INDEX GroupSort
ON 产品表 (商品名称, 商品分类)

结果如下:

这里是白茶,一个PowerBI的初学者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fabric丨白茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值