简单学习数据库索引

Oracle数据表的记录较多的时候,为了提升查询的效率,咱们经常会为数据表创建索引,这样在查询的时候就可以大大提升查询的速度了。建立了索引了以后,在表的增长、删除、修改操做效率则会降低mysql

    一、查看一张表当中已有的索引     sql

        select index_name from all_indexes where table_name = ‘表名’; spa

            注意:ORACLE不区分大小写,可是这里的表名必需要大写、对象

     二、建立一个索引索引

       create index 索引名称 on 表名(表中要建立索引的某一个字段)ci

    三、建立多个列的索引table

         create index 索引名称 on 表名(列1,列2····)效率

    四、mysql添加索引        select

            1.添加PRIMARY KEY(主键索引)数据

            mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

            2.添加UNIQUE(惟一索引)

            mysql>ALTER TABLE `table_name` ADD UNIQUE (`column`)

            3.添加INDEX(普通索引)

            mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

            4.添加FULLTEXT(全文索引)

            mysql>ALTER TABLE `table_name` ADD FULLTEXT (`column`)

            5.添加多列索引

       mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

惟一索引和通常索引的区别

一、只有当你的要建立索引的列中的内容的值没有重复时(空值除外),才能对其建立惟一索引,不然,就建立不了惟一索引。一般来讲,对于相同环境下(相同的对象,相同的操做,相同的检索条件等),惟一索引都会更好一些,其COST值也要更低一些(索引全扫描除外)。

二、惟一约束的实现是依赖于惟一索引的(主键约束也是依赖惟一索引的)。当你建立一个维一约束时,ORACLE会自动建立(或使用已有的)相应的惟一索引。

三、约束是为了保证数据的完整性和业务逻辑的正确性,而索引是为了提升检索的效率。二者的做用和目的不一样,但又相互联系

惟一索引eg:身份证号

相关文章
相关标签/搜索