BI-SQL丨INDEX

作者: Fabric丨白茶 | 来源:发表于2021-12-26 15:29 被阅读0次

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

相关文章

  • BI-SQL丨INDEX

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

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • BI-SQL丨WITH AS

    WITH AS 在DAX函数中,有些时候我们写的DAX逻辑引用次数过多,或者是性能过差,我们都会选择使用VAR来定...

  • BI-SQL丨INSERT INTO

    INSERT INTO语句 INSERT INTO语句通常可以用来在SQL的查询中针对表插入某些行数据。 看到这里...

  • BI-SQL丨ORDER BY

    ORDER BY语句 ORDER BY语句,在SQL中通常可以用来作为查询结果的排序依据。当然在PowerBI的D...

  • BI-SQL丨WHERE

    WHERE函数 WHERE函数,属于常用函数之一,通常可以用来进行条件查询。 其用途类似于DAX函数中的Filte...

  • BI-SQL丨SELECT

    白茶之前介绍过,无论是从PowerBI的角度来看,还是从职业发展规划的角度来讲,一个不会SQL的PowerBI分析...

  • BI-SQL丨DISTINCT

    DISTINCT函数 在SQL中,DISTINCT函数也是常见函数之一,通常可以用来进行对表或者列进行去重操作。 ...

  • BI-SQL丨TOP

    TOP函数 TOP函数,属于高级函数之一,通常可以用来返回固定数量的行数。 对于一定数据量级的事实表来说,此函数可...

  • BI-SQL丨JOIN

    JOIN JOIN在SQL Server中是一个很重要的概念。 JOIN经常用于将两个表或者多个表通过主外键关联进...

网友评论

    本文标题:BI-SQL丨INDEX

    本文链接:https://www.haomeiwen.com/subject/qljawltx.html