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的初学者。

Fabric丨白茶 文章被收录于专栏

数据分析进阶之路,带你深入了解可视化技巧。

全部评论

相关推荐

头像
04-27 15:11
已编辑
华东师范大学 算法工程师
暑期实习从2月开始投,面了两个月,流程该挂的都挂完了,腾讯字节一共号称是1.7w个hc,不知道都发给谁了,估计今年秋招要难顶。Timeline米哈游、美团、蚂蚁、微软等公司直接简历挂穿,没进面。携程:3.3 投递、测评3.12 笔试3.18 一面3.25 二面4.13 ai面(hr面)4.14 英语测评4.23 offer(已拒)腾讯:2.6 测评2.28 wxg一面3.5 wxg二面(挂)3.11 teg一面3.21 teg二面(取消)3.31 teg一面4.10 teg二面(挂)4.21 wxg一面4.24 wxg二面(挂)字节:1.28 aml约面(取消)3.17 火山一面(挂)4.8 aml一面(挂)4.20 抖音data一面(挂)阿里:3.23 投递、测评3.28 笔试3.31 淘天一面4.8 钉钉一面4.9 淘天二面4.10 阿里控股一面4.12 钉钉二面(取消)4.15 淘天hr面4.16 淘天offer(已接)4.21 高德一面(取消)4.22 淘宝闪购一面(取消)面试最大的感触是,现在撞上ai转型,一堆老业务急着转向,新业务非常不成熟,研究型的组bar非常高根本进不去,业务侧挂着算法的岗位干的都是工程活,面试却又要问算法,另外agent的落地也远没有那么广,绝大多数还是那套写死的系统调一下llm api或者做做rag,其余少部分真的在搭agent的,基本不能在线上服务用什么很智能的模型,现阶段成本太高,进去大概率就是给垃圾模型从工程方面兜底,除了业务场景的应用和数据经验以外,技术方面很难有什么提升。算法岗做不了基模的还是去搜广推好,之前判断失误了完全没投,秋招不知道还进不进得去。
嵌入式的小白:不错啊,淘天也是挺好的,恭喜
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务