如何创建高效索引

发布时间:2020-07-22 16:45:25 作者:1016181692
来源:网络 阅读:11672

索引创建指南

1、频繁在where 从句中出现

2、频繁在join关联字段中

3、选择具有高选择性的键

4、别在具有很少的不同值的键上使用B-tree索引。这类键或表达式经常具有较差选择性,所以不会是性能有更多的优化,

5、除非经常选择的值比其他的值出现的频次要低。要是这种情况,可有效使用位图索引,但是如果在高并发的OLAP系统,位图索引要是经常被改动,则不要使用位图索引。

6、不要在常被修改到字段上建索引。

7、不要对仅出现在where从句中的函数或表达式中的字段建索引,要么就建函数索引

8、可考虑在外键上建索引。

9、创建一个索引时,评估该索引给查询带来的性能优化是否比因其而引起INSERT,UPDATE,DELETE操作的性能下降以及索引占用的空间更要值得。

10、复合索引

提高了选择性(有时,组合的选择性要比单个列的选择性要高)

降低I/O(如果锁被查询选择的列都在复合索引中,那Oracle可通过访问索引来返回值而不需要访问表。)

经常在WHERE从句中通过以AND组合出现,并且尤其是组合后比单一键选择性更高,该组合上可考虑常见复合索引

如果查询的列是组合列的子集,可考虑基于这些键建复合索引

索引的顺序:

该索引能够使WHERE从句可组成索引的前导列

如果WHERE从句中有几个键非常高频,可仅就这几个列键建复合索引

如果所有的列出现在WHERE的频率都一样并且数据基于其中一列已物理排序,那么可将此列作为复合索引的第一个key。

使用非唯一性索引实现唯一性:
你可以用表的已存在的在UNIQUE约束字段或PRIMARY KEY约束字段上的非唯一性索引强制实现唯一性。这样做的好处在于即使约束DISABLE了,

该索引仍然有效。所以,可让一个DISABLED的UNIQUE或PRIMARY KEY重新ENABLE,不需要再重建唯一性索引。这样可以在大数据表的ENABLE

操作中节省很多时间。


推荐阅读:
  1. MongoDB索引管理——创建索引,查看索引,删除索引,重建
  2. 高效使用搜索引擎

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle 索引 表达式

上一篇:Dell PowerEdge T110 BIOS无法保存设定

下一篇:Django中使用日期时间选择器规范用户的时间输入的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》