当访问表中的数据时,Oracle提供了两种方式:从表中读取所有行(即全表扫描),或者通过ROWID一次读取一行。
一般来说,索引能提高查询的性能。select 语句、update和delete命令的where 子句的性能(当访问的行较少时)可以借助索引获得提高。 增加索引会降低insert语句的性能(需要同时对表和索引进行操作)。索引列上的update操作将会比没有加索引慢很多,因为数据库必须管理对表和索引的改动。此外,大量行的delete 操作将会由于表中存在索引而变慢。
通过查询dba_indexes视图可以获得一个表上所有索引的清单,也可以通过访问user_indexes视图查询当前方案(schema)的索引。查询all_indexes视图可以查看能够访问的所有表的索引。
user_indexes会显示查询表的索引,但是不会显示每个索引中包含的列。 为了获取当前用户的表中被索引的列的信息,可以查询user_ind_columns视图;DBA可以通过访问dba_ind_columns视图检索所有方案中被索引的列,通过all_ind_columns视图可以查看当前用户有权看到的所有表的索引列。
一般来说,索引能提高查询的性能。select 语句、update和delete命令的where 子句的性能(当访问的行较少时)可以借助索引获得提高。 增加索引会降低insert语句的性能(需要同时对表和索引进行操作)。索引列上的update操作将会比没有加索引慢很多,因为数据库必须管理对表和索引的改动。此外,大量行的delete 操作将会由于表中存在索引而变慢。
通过查询dba_indexes视图可以获得一个表上所有索引的清单,也可以通过访问user_indexes视图查询当前方案(schema)的索引。查询all_indexes视图可以查看能够访问的所有表的索引。
user_indexes会显示查询表的索引,但是不会显示每个索引中包含的列。 为了获取当前用户的表中被索引的列的信息,可以查询user_ind_columns视图;DBA可以通过访问dba_ind_columns视图检索所有方案中被索引的列,通过all_ind_columns视图可以查看当前用户有权看到的所有表的索引列。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21374452/viewspace-2131515/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21374452/viewspace-2131515/