索引:就是一个列表,包含索引字段的值和相应的页码定位。
索引关键字进行了排序。查询时可以通过索引,提供查询速度。
书上的目录相似
表上查询:全表扫描
结构:Btree
根节点 中间节点
叶节点
索引的优点:提供查询速度。
缺点:占磁盘空间
会降低写的速度。(插入,更新,删除)
什么时候键索引:如果表主要是提供查询,那么在经常查询的字段上建立索引。
索引分类:
1.普通索引
create index 索引名
on 表名(字段名,。。。);
create index index_name
on xs(姓名);
2.唯一性索引:在一个表上可以创建多个,索引值不能重复。允许有空值
create unique index
索引名
on表名(字段名,。。。)
3.主键:primary key
在一个表上只能创建一个主键,主键字段不能出现重复值,
不允许为空。
4.全文索引
create fulltext index
索引名
on 表名(字段名,。。。);
通过修改表结构添加索引。
alter table 表名
add index 索引名(索引字段,。。。)
查看索引:show index from
表名
删除索引:drop index
索引名 on 表名
索引的创建:
1.表已经建好了:
1) createindex
索引名 on 表名(字段名,。。);
2) alter table 表名 addindex
索引名(字段名,。。。);
2.在建表的同时创建索引
create table abc
(id int primary key,
name varchar(10),
index ind_name(name));
create table abc1
(id int ,
name varchar(10),
primary key(id),
index ind_name(name));
索引的删除:
1.drop index 索引名 on
表名
2.alter table 表名
drop index 索引名
要求:在xs表的姓名字段上创建唯一性索引。
查看索引
输入记录验证唯一索引
删除索引。
1.普通索引(INDEX)
这是最基本的索引类型,它没有唯一性之类的限制。创建普通索引的关键字是INDEX。
2.
唯一性索引(UNIQUE)
这种索引和前面的普通索引基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须是唯一的。创建唯一性索引的关键字是UNIQUE。
3.
主键(PRIMARY KEY)
主键是一种唯一性索引,它必须指定为“PRIMARY KEY”。主键一般在创建表的时候指定,也可以通过修改表的方式加入主键。但是每个表只能有一个主键。
4.
全文索引(FULLTEXT)
MySQL支持全文检索和全文索引。在MySQL中,全文索引的索引类型为FULLTEXT。全文索引只能在VARCHAR或TEXT类型的列上创建,并且只能在MyISAM表中创建。它可以通过CREATE
TABLE命令创建,也可以通过ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集,通过ALTER TABLE(或CREATE INDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。
另外,当表类型为MEMORY或HEAP时,除了BTREE索引,MySQL还支持哈希索引(HASH)。使用哈希索引,不需要建立树结构,但是所有的值都保存在一个列表中,这个列表指向相关页和行。当根据一个值获取一个特定的行时,哈希索引非常快。
分享到:
相关推荐
4、索引高度:索引高度是指由于数据行的插入操作而产生的索引层数,当表中添加大量数据时,oracle将生成索引的新层次以适应加入的数据行,因此,oracle索引可能有4层,但是这只会出现在索引数中产生大量插入操作的...
oracle 分区索引,本地索引,全局索引的区别
倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。 ...
pandas DataFrame是二维的,所以,它既有列索引,又有行索引 上一篇里只介绍了列索引: import pandas as pd df = pd.DataFrame({'A': [0, 1, 2], 'B': [3, 4, 5]}) print df # 结果: A B 0 0 3 1 1 4 2 2 5 行索引...
创建索引 数据索引 课程目标 理解 —— 创建索引的语法; 掌握 —— 在已有表上创建索引的方法; 掌握 —— 在修改表时添加索引的方法; 掌握 —— 在创建表时创建索引的方法。 创建索引 使用CREATE INDEX语句创建...
关于索引的介绍,以及b+树结构图,两种索引性能比较,索引优化建议
在输出代码行中,加入“index=False”... 您可能感兴趣的文章:Python将DataFrame的某一列作为index的方法pandas将DataFrame的列变成行索引的方法python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)Py
public class IndexBuilder3 extends Configured{ public static class MapperIndex extends TableMapper,Put>{ private String tableName; private String columnFamily;...// 该列对应的索引表名字
一、 创建主键(主键=主键索引=聚集索引) 主键是什么? 答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。 原本没有创建的主键的表在磁盘上存储为: Id=0;username=username0;sex...
SQL Server 索引结构及其使用(聚集索引和非聚集索引)的区别与实例讲解,提高查询速度。
对XML数据建立有效的索引,是左右XML数据处理性能的重要因素.深入地讨论了目前XML索引 技术的研究现状,将XML索引技术分为两大类:节点记录类索引(本身还可以分为3个小的类型)和结构摘要类 索引.根据XML数据查询...
本系统源码是个人原创文章系列,程序员编程艺术第二十六章:基于给定的文档生成倒排索引的编码与实践的整个工程源码 look:http://blog.csdn.net/v_july_v/article/details/7109500 windows下VS2010,linux环境下皆...
数据库 索引 优化 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引...
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。下面是主键和索引的一些区别与联系。 1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。 所谓...
索引视图是一个已被物化或保存在数据库中的视图。当基本表更新时,给视图建立的索引由数据库引擎保存和更新。当你的结果集返回许多行并且需要求总数时,索引视图十分有用。这是因为数据库引擎必须在基表数据更新时...
在关系数据库中,索引是一种单独对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引的作用相当于图书的目录,可以...
1.索引的创建与使用 2.创建索引的原则 3.索引的分类 4.创建索引的多种方法 5.管理索引 6.索引优化 7.查看、修改索引属性 8.修改索引名 9.删除索引
• 数据库索引用于加速查询 • 虽然哈希索引是O(1),树索引是O(log(n)),但SQL有很多“有序”需求,故数据库使用树型索引 • InnoDB不支持哈希索引 • 数据预读的思路是:磁盘读写并不是按需读取,而是按页预读,一...
数据库索引
MySQL Innodb 索引原理详解