Oracle创建索引SQL简单的例子,在表中的指定字段和如何使用索引呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle创建索引SQL简单的例子,在表中的指定字段和如何使用索引呢?相关的知识,希望对你有一定的参考价值。

蓝湾科技

创建索引:create index emp_id1(索引名) on emp(empno,ename,deptno) ;
在创建索引时需要制定所在的表的列名,即你要在哪个或者哪些列上创建索引!
使用索引:索引一般是在查询时由数据库优化器自动进行判断是否使用,就是说就算你在某个列上创建了索引,当你在查询这个表时数据库也不一定会使用索引,因为有时候需要查询的范围比较大,如全表查询,这时数据库优化器会去判断使用索引和不使用索引哪个效率高,当然是不使用索引效率高啦!所以说一般查询时是不要指定索引的,不过索引还是得创建的!
虽说查询时不推荐指定索引,但还是可以指定的:SELECT * FROM stuMarks (INDEX=IX_writtenExam) WHERE writtenExam BETWEEN 60 AND 9
参考技术A create index index_name on table_name(column_name) ;
只要你查询使用到建了索引的字段,一般都会用到索引。

--创建表
create table aaa
(
a number,
b number
);
--创建索引
create index idx_a on aaa (a);
--使用索引
select * from aaa where a=1;
这句查询就会使用索引 idx_a
参考技术B 哦了

sql索引

在SQL Server中,一个表只能创建一个聚集索引,但可以将多个非聚集索引。设置某列为主键,该列就默认为聚集索引。

  1. 频繁搜索的列。
  2. 经常用于查询选择的列。
  3. 经常排序、分组的列。
  4. 经常用于连接的列(主键/外键)。

不要使用下面的列创建索引。

  1. 仅包含几个不同值得列。
  2. 表中仅包含几行,为小型表创建索引可能不太划算,因为SQL Server在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长。
  3. 在SQL 语句中,特别是在select语句中正确使用索引可以大大提高查询速度,保证应用程序的运行性能。提供几条经验,仅供大家参考:
    1. 查询时尽量减少使用“星号”返回全部列,不要返回不需要的列。
    2. 索引应该尽量小,在字节数小的列上建立索引。
    3. where 字句中有多个条件表达式时,包含索引列的表达式应置于其他表达式之前。
    4. 避免在order by 字句中使用表达式。
    5. 根据业务数据发生频率,定期重新生成或重新组织索引,进行碎片整理。(因为在SQL server中,索引数据是由系统自动维护的,在增加、删除和修改数据后,索引数据可能会更新。随着长期频繁的数据更新,索引数据会分散在磁盘的不同位置,形成碎片,由此造成查询速度越来越慢,因此,根据数据更新的频率,定期删除原有索引,重新创建相同的索引,让索引存放在连续的空间中,以此删除碎片,可提高查询速度。)

以上是关于Oracle创建索引SQL简单的例子,在表中的指定字段和如何使用索引呢?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle创建索引SQL简单的例子,在表中的指定字段和如何使用索引呢?

Oracle简单总结

Oracle SQL

Oracle数据库索引

在SQLServer中使用索引的技巧

oracle 创建SDO_Geometry表