Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们应该在什么时候为oracle中的特定列创建索引?_Oracle - Fatal编程技术网

我们应该在什么时候为oracle中的特定列创建索引?

我们应该在什么时候为oracle中的特定列创建索引?,oracle,Oracle,在下面的链接中,指定了在特定列上创建索引的时间: 索引列经常被查询,并返回表中总行数的一小部分 索引列上存在引用完整性约束。索引是一种避免在更新父表主键、合并到父表或从父表中删除时需要的完全表锁的方法 唯一键约束将放置在表上,您希望手动指定索引和所有索引选项 第一点很清楚,有人能解释一下第二点和第三点吗 我将尝试解释第二点。假设有一个DEPT表和一个EMP表。DEPT_ID是DEPT表中的主键和EMP表中的外键。假设您尚未在EMP表中的DEPT_ID列上定义索引,在这种情况下,无论何时更新DE

在下面的链接中,指定了在特定列上创建索引的时间:

  • 索引列经常被查询,并返回表中总行数的一小部分

  • 索引列上存在引用完整性约束。索引是一种避免在更新父表主键、合并到父表或从父表中删除时需要的完全表锁的方法

  • 唯一键约束将放置在表上,您希望手动指定索引和所有索引选项


  • 第一点很清楚,有人能解释一下第二点和第三点吗

    我将尝试解释第二点。假设有一个DEPT表和一个EMP表。DEPT_ID是DEPT表中的主键和EMP表中的外键。假设您尚未在EMP表中的DEPT_ID列上定义索引,在这种情况下,无论何时更新DEPT表中的DEPT_ID或从DEPT表中删除一行,都会在EMP表上获取完整的表锁。假设您在EMP表中的DEPT_ID列上有一个索引,只有相关的行会在EMP表中被锁定

    至于第三点,我建议您阅读以下链接


    阿尔伯特·爱因斯坦,你为什么不把“参照完整性约束”这个术语作为你的第一个要求。不清楚你对所给的文本有什么不理解的地方。@阿尔伯特·爱因斯坦,我将试着解释第二点。假设有一个DEPT表和一个EMP表。DEPT_ID是DEPT表中的主键和EMP表中的外键。假设您尚未在EMP表中的DEPT_ID列上定义索引,在这种情况下,无论何时更新DEPT表中的DEPT_ID或从DEPT表中删除一行,都会在EMP表上获取完整的表锁。假设您在EMP表中的DEPT\u ID列上有一个索引,那么只有相关的行才会在EMP表中被锁定。@pectical\u man。非常感谢,我现在能完全理解了。你能在回答部分发表你的评论吗。我想选择它作为答案。