索引
程序员文章站
2022-07-09 21:20:11
工作一直也没有把自己学到跟看到的一些东西记录下来,有些学到的东西很久没遇到,自己也有些模糊了。从今天开始记录一下,自己记录一遍是对自己的巩固,也是一种分享,虽然可能对于一些人来说分享的内容很浅,但也可能会帮助另一些人。 工作中有的时候一条sql很慢,这时候就就会进行sql的优化,sql优化有多方面, ......
什么是索引?
索引是表的目录,是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录。
索引的性能?
可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,
所以索引不是越多越好。
当表过于少,或者需要频繁的修改表的时候,会降低表的性能。不适合建立索引
索引的创建与分类?
oracle中是
1,普通索引
create index index_num1 on table_name(column);
2,唯一索引
create unique index index_num2 on table_name(column);
唯一索引确保在定义索引的列中没有重复值
3,组合索引
create index index_num3 on table_name(column1,column2);
组合索引是在表的多个列上创建索引,
索引中列的顺序是任意的,在表的多个列上创建的索引
4,反向键索引
create index index_name on table_name(column) reverse;
反向键索引反转索引列键值的每个字节,为了实现索引的均匀分配,
通常建立在值是连续增长的列上,使数据均匀地分布在整个索引上
5,位图索引
create bitmap index index_name on table_name (column_name);
位图索引适合创建在低基数数列上,节省空间
6,基于函数的索引
create index index_name on table_name (函数(column_name));
基于一个或者多个列上的函数或表达式创建的索引
删除索引
drop index index_name;
mysql中的索引
1,普通索引
CREATE INDEX index_name ON table(column(length));
没有任何限制
2,唯一索引
CREATE UNIQUE INDEX indexName ON table(column(length))
索引列的值必须唯一,但允许有空值
3,主键索引
是特殊的唯一索引,一般在建表的时候建立
4,组合索引
CREATE INDEX indexName ON table(column1,column2);
只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。
使用组合索引时遵循最左前缀集合.
5,全文索引
CREATE FULLTEXT INDEX index_content ON article(content);
主要用来查找文本中的关键字
本文地址:https://blog.csdn.net/joshuacty/article/details/107669361
上一篇: 数据库之MySQL的基本使用
下一篇: 还原数据库