时间:2021-07-01 10:21:17 帮助过:24人阅读
创建一个索引: create index 索引名 on 表名 (字段名);
删除索引: drop index 索引名
建立索引的目的就是为了加快查询速度,建立索引后会使DML操作效率慢,但是对用户查询会提高效率。删除一个表时,相对应的索引也会删除。另外,索引是会进行排序。
创建索引就是为了减少物理读,索引会减少扫描的时间。在经常要用到where的子句的字段,应该使用索引,另外还要看所查询的数据与全部数据的百分比,表越大,查询的记录越少,索引的效率就越高.;
举例:
CREATE INDEX upper_ix ON employees (UPPER(last_name));
使用:
SELECT first_name, last_name FROM employees WHERE UPPER(last_name) IS NOT NULL ORDER BY UPPER(last_name);
为了增加Oracle数据库使用索引而不是执行全表扫描的可能性,请确保函数在后续查询中返回的值不为空。如果没有WHERE子句,Oracle数据库可能会执行全表扫描。
注意事项:
WHERE之后的字段条件,需与索引一致,否则可能失效。
如: CREATE INDEX ix_birth mployees (birthday);
查询语句: select birthday from mployees where to_char(birthday,‘YYYY-MM‘)=‘2018-01‘;
结果:索引没有效果
Oracle 索引 index
标签:ast 百分比 查询 一个 字段 oracle 应该 body birt