发布网友 发布时间:2022-04-21 21:41
共3个回答
热心网友 时间:2022-04-08 21:09
在oracle中物理结构不一样。
create index INDEX_NAME on TABLE_NAME (ACCNO, ZONENO, CINO)
会根据ACCNO, ZONENO, CINO生成一个BTree索引树。
create index INDEX_NAME on TABLE_NAME (ACCNO)。
create index INDEX_NAME on TABLE_NAME (ZONENO)。
create index INDEX_NAME on TABLE_NAME (CINO)。
会生成3个索引树。如果根据ACCNO, ZONENO, CINO三个字段检索,正常情况下(ACCNO, ZONENO, CINO)会快一些。
如果按照ACCNO中的一个字段检索,下面的情况会快一些。
如果在同时建上面两种情况的检索,也不会报错。只是会在DML,更新插入删除时会慢一些。试图考虑下bitmap索引,可能也能对你的业务有用。
扩展资料:
索引使用原则:
在正确使用索引的前提下,索引可以提高检索相应的表的速度。当用户考虑在表中使用索引时,应遵循下列一些基本原则。
(1)在表中插入数据后创建索引。在表中插入数据后,创建索引效率将更高。如果在装载数据之前创建索引,那么插入每行时oracle都必须更改索引。
(2)索引正确的表和列。如果经常检索包含大量数据的表中小于15%的行,就需要创建索引。为了改善多个表的相互关系,常常使用索引列进行关系连接。
(3)主键和唯一关键字所在的列自动具有索引,但应该在与之关联的表中的外部关键字所在的列上创建索引。
(4)合理安排索引列。在createindex语句中,列的排序会影响查询的性能,通常将最常用的列放在前面。创建一个索引来提高多列的查询效率时,应该清楚地了解这个多列的索引对什么列的存取有效,对什么列的存取无效。
参考资料来源:百度百科-Oracle索引
热心网友 时间:2022-04-08 22:27
在oracle中物理结构不一样。热心网友 时间:2022-04-09 00:02
这需要看什麼语句定