oracle数据库索引将在什么时候用到?

索引的最终目的是为了提高查询速度,一般创建到你常做为查询条件的列。
查询呗 ,其它情况下用不到!,而且加完索引后 增删改 都会很慢 所以请慎重加啊!
查询的时候,能使查询的速度提高。不过一个索引大概占用表1.5倍的空间。慎用。
在查询的时候,如果查询条件是索引的字段,那么索引将会被用到。


索引主要用来提升数据检索速度,在数据量很大的时候很有用. 索引相当于图书馆的图书目录,你要找本书可以在图书目录上
找到这本书在哪个书架第几本,这样明显比到书架去找书要快得多,索引就是这个道理. 索引在数据库优化当中起着非常重要的作用
,
像我的网站(http://www.99sc.cn)里面的 表基本上都建有索引, 这样可以使得我的网站数据在百万千万条数据的时候也不会
很慢
(只是现在数据很少,呵呵),如果没有索引估计会很惨. 以下是网上的介绍,看看吧: 

索引简介 

索引是表示数据的另一种方式,它提供的数据顺序不同于数据在磁盘上的物理存储顺序。索引的特殊作用是在表内重新排列记录的
物理位置。索引可建立在数据表的一列上,或建立在表的几列的组合上。 

回想一下图书馆中,存放着一架一架的图书。假设要找一本书,图书管理员视必要一架一架的寻找,直到找到想要的那本书为止。
这样的查找肯定费时费力,那么管理员可以将所有的图书标题按字母分类建立索引卡片,按字母顺序放在不同的办公抽屉中,
这样一架一架查找图书的过程就变成了在办公桌前抽屉中查询索引卡片了,很容易得到有关这本书的信息。 

再进一步设想,图书管理员很勤快,他不仅按照图书标题字母分类,而且还按作者姓名和出版社分别建立了另外的索引卡片,
这个过程将给借阅者在检索图书信息时以更大的灵活性。因此在一个数据表中是可以建立多个索引的。 

在数据库中,对无索引的表进行查询一般称为全表扫描。全表扫描是数据库服务器用来搜寻表的每一条记录的过程,
直到所有符合给定条件的记录返回为止。这个操作可以比作在图书馆中查书,从第一个书架的第一本书开始,浏览每一本书,
直到发现所要的书为止。为了进行高效查询,可以在数据表上针对某一字段建立索引,由于该索引包括了一个指向数据的指针,
数据库服务器则只沿着索引排列的顺序对仅有一列数据的索引进行读取(只建立一个索引)直至索引指针指向相应的记录上为止。
由于索引只是按照一个字段进行查找,而没有对整表进行遍历,因此一般说来索引查找比全表扫描的速度快。 

那么,是不是使用索引查询一定比全表扫描的速度快呢?答案是否定的。如果查询小型数据表(记录很少)或是查询大型数据表
(记录很多)的绝大部分数据,全表扫描更为实用。例如,查询“性别”字段,其值只能是“男或女”,在其上建立索引的意义就不大
,甚至不允许在布尔型、大二进制型(备注型、图像型等)上建立索引。 

SQL中主键和索引的含义与区别?

主键是确定记录唯一性的字段或几个字段的组合
索引的目的是为了快速检索数据,就象一本书的目录一样
索引又分为簇索引和非簇索引,簇索引只能有一个,而非簇索引可以有多个,比如说,一本书的主目录(簇)有一个,
在书的后面又有根据某些词按字母排列的索引(非簇)

在一个表中,一个字段可以同时是主键和索引

一般的聚簇索引是建立在一个表的主键上还是其他键上?
还有一个表是不是可以建多个索引?

1.聚集索引可以建在表的主键上,也可以建在其他键上;
2.一个表可以建多个索引,但只能有一个聚集索引,其他的索引必须是非聚集索引;

关于第1条需要说明的是,默认情况下,当创建主键时,如果没有明确指定主键为非聚集选项,并且表中不存在聚集索引,
那么系统会为主键创建聚集索引.

每个表只能建一个聚簇索引,所以必须珍惜这个资源,建立在哪个字段上,要根据实际情况考虑。如果一个字段我们用来作为查询
条件的可能性最多,
那么将聚簇索引建立在这个字段上,就可以最大程度的发挥它的作用。

表上可以建立多个非聚簇索引,但只能建立一个聚簇索引。表上的索引过多会影响性能,插入,删除,更新的速度会变慢,
因为这个过程中,所有的索引都需要维护。

如何在ORACLE数据库的字段上建立索引?

create index indexname on telno(telno)

其中indexname是你标注的索引名