当前位置: 代码迷 >> Oracle管理 >> 数据库的索引解决方法
  详细解决方案

数据库的索引解决方法

热度:177   发布时间:2016-04-24 04:16:48.0
数据库的索引
刚学数据库没多久,就一直不明白索引。因为了解到有时通过索引就能查到所需结果。如果是那样的话,比如,有张学生表(sno,sname,sex,age,sdept,),有存在索引(sno,sname)的话,是不是把这两个字段的表又重新存了份,如果是这样,那么是不是很耗内存呢?(索引应该是都放内存的把)
------解决方案--------------------
不是这样的,表和索引都是占用了表空间,最终是放在数据文件里的。索引的功能就像是书的目录一样,可以加快数据的查询速度。
------解决方案--------------------
索引是单独存放在索引表空间里面,对于一张表里面返回结果集较少的情况下,使用索引可以加快查询的速度。
------解决方案--------------------
我是这样理解的,把索引想象为一种目录,把你所要建立的字段进行排序、配对。这样 sno+sname就会有一个唯一值(一般索引都要建立在唯一值的基础上),方便系统进行查找。
------解决方案--------------------
表和索引都会占用存储空间。
表数据存储在一数据块为基本操作单位的表空间内。
索引分为Btree索引,位图索引等,都是通过相应的方式存储在相应的表空间的。

所以说索引是要占用存储空间,并且需要维护。
  相关解决方案