mysql学习笔记之三(篮球世界杯赌球索引)

2019-12-13 23:12 来源:未知

本文章要来讲关于mysql创建索引与索引删除哦,本教程只讲关于mysql 5.0支持的索引类型,并简单介绍索引的设计原创,索引是数据库中用来提高性能的最常用的工具。

mysql学习笔记之三(索引)

索引

数据库对象索引:一种组合数据的方式,通过索引对象,可以快速查询到数据库对象表中的特定记录,是一种提高性能的最常用方式。

一个索引会包含表中的按照一定顺序排序的一列或多列字段。

索引操作:

创建索引,修改索引,删除索引。

数据库对象索引主要为了提高从表中检索数据的速度。由于数据存储在数据库表中,所以索引是创建在数据库对象上的,由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构里(B-树或哈希表)中,通过MySql可以快速有效的查找与键值相关联的字段。根据索引的存储类型,可以将所以分为B型树索引和哈希索引

注意:InnoDB和MyISAM存储引擎支持Btree类型索引,MEMORY存储引擎支持Hash类型索引,默认为前者索引。

数据库对象索引的出现,除了提供数据库管理系统的查找速度,而且还可以保证字段的唯一性。从而实现数据库表的唯一性。

六种索引:普通索引,唯一索引,全文索引,单列索引,多列索引,空间索引

利弊:

利:提高查找速度

弊:过多索引占用磁盘空间

适合创建索引的情况:

1、经常被查询的字段,即在where中出现的字段

2、分组的字段,即在group by中出现的字段

3、存在依赖关系的字表和父表之间的联合查询,即主键或外键字段

4、设置唯一完整性的字段

不适合创建的情况:

1、在查询中很少被使用的字段

2、拥有许多重复值的字段 普通索引

创建:

三种方式:

1、创建表时创建索引

2、在已经存在的表上创建索引

3、通过SQL语句在ALTER TABLE来创建

1、

create table tablename(
column1 type,
column2 type,
....
INDEX|KEY [indexname] (columname [(长度)] [ASC|DESC])
)

 

通过index或key来指定字段为索引。
在创建索引时,可以指定索引的长度。这是因为不同存储引擎定义了标的最大索引数和最大索引长度
mysql所支持的存储引擎对每一个表至少支持16个索引,总索引长度至少为256字节

create table t_index1(
id int,
name varchar(20),
loc varchar(20),
index index_id(id)
)

 

之后向表里插入多条记录(这是必须的,如果只有一条记录,出现不了下面的字样),然后执行

explain select * from t_index1 where id=1G

之后出现

possible key:index_id

key:index_id

的字样之后就说明id的索引对象被启用

2、在已经存在的表上创建普通索引

create index indexname on tablename(column[(长度)][asc|desc])

create index index_name on t_index1(name)
验证:

explain select * from t_index1 where id=1G

字样出现

篮球世界杯赌球,possible key:index_name

key:index_name

3、通过SQL语句alter table 创建普通索引

alter table tablename add index|key indexname(columnname[(length)][asc|desc])又见识到create和alter的两个功能。修改索引会不会用alter呢?删除索引会不会用drop呢?往后看看

唯一索引

1、创建表时创建唯一索引

create table tablename(
column1 type,
column2 type,
...
unique index|key indexname(column[(length)][asc|desc])
)

 

所谓的唯一索引就是在普通索引上添加上关键字UNIQUE。

2、在已经存在的表上创建一个唯一索引
试着自己写写

create unique index indexname on tablename(columname[(长度)][asc|desc])

完全OK3、通过SQL语句alter table创建索引
alter table tablename add unique index|key indexname(columnname[(length)][asc|desc])

全文索引

全文索引主要关联在数据类型为char,varchar,text字段,以便能够更加快速查询数据量较大的字符串类型的字段
mysql从3.23.23版本开始支持全文索引,只能在存储类型为myISAM的数据库表上创建全文索引。
默认情况下,全文索引的搜索方式为不区分大小写,如果全文索引所关联的字段为二进制数据类型,则以区分大小写的搜索方式执行。
关键字:fulltext index
三种创建方式跟上面的类似,将index关键字写成fulltext index就是创建了全文索引

多列索引

在创建索引时,所关联的字段不是一个字段,而是多个字段
虽然可以通过所关联的字段进行查询,但是只有查询条件使用了所关联字段中的第一个字段,多列索引才会被使用。

create table t_name(
column1 type,
column2 type,
...
index|key index_columni_columnj(columni[(length)][asc|desc],columnj[(length)][asc|desc])

 

)其他两种创建方式类推一下就可以了。
六种索引:普通索引,唯一索引,全文索引,单列索引,多列索引,空间索引
一共是六种,这里讲到了三种。

网上搜索到的空间索引

空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。创建空间索引的列,必须

将其声明为NOT NULL,空间索引只能在存储引擎为MYISAM的表中创建

create table index6(
id int,
space geometry not null,
spatial index index6_sp(space)
);

 

以上都是创建索引,有创建就得有删除

删除索引

drop index indexname on tablename语法很简单。

http://www.bkjia.com/Mysql/991219.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/991219.htmlTechArticlemysql学习笔记之三(索引) 索引 数据库对象索引:一种组合数据的方式,通过索引对象,可以快速查询到数据库对象表中的特定记录,是一...

本文章要来讲关于mysql教程创建索引与索引删除哦,本教程只讲关于mysql 5.0支持的索引类型,并简单介绍索引的设计原创,索引是数据库教程中用来提高性能的最常用的工具。

一、

所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引。总索引长度为256字节。

mysim和innodb存储引擎的表默认创建索引都是btree索引,目前mysql还不支持函数索引,但支持前缘索引,对字段前N个字符创建索引

二、mysql创建索引语法

Create [unioun|fulltext|spatial] index indexname[using indextype] on tablename( tablenamecol)

index_col_name:

col_name[ (length)][asc |desc]

如果你创建索引时搞错了,需要修改mysql索引我们可以用alert来修改索引,语法与create index创建索引差不多,我们就不说了,可以查看相关手册。

下面我们来看一个关于mysql创建索引实例教程

TAG标签:
版权声明:本文由美洲杯赌球发布于计算机教程,转载请注明出处:mysql学习笔记之三(篮球世界杯赌球索引)