MySQL 数据库索引 与 复制表结构方式

一、数据库索引作用:

提高查询速度

确保数据的唯一性

可以加速表和表之间的连接,实现表与表之间的参照完整性

使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间

全文检索字段进行搜索优化

二、索引分类

主键索引(PRIMARY KEY)
唯一索引(UNIQUE)
常规索引(INDEX)
全文索引(FULLTEXT)

主键:

某一个属性组能唯一标识一条记录
如:学生表(学号,姓名,班级,性别等) ,学号就是唯一标识的,
可作为主键

特点:
1、最常见的索引类型
2、确保数据记录的唯一性
3、确定特定数据记录在数据库中的位置

唯一索引(UNIQUE)

作用:避免同一个表中某数据列中的值重复

与主键索引的区别
1、主键索引只能有一个
2、唯一索引可有多个

常规索引(INDEX)

作用:快速定位特定数据
注意:
1、index和key关键字都可设置常规索引
2、应加在查找条件的字段
3、不宜添加太多常规索引,影响数据的插入、删除和修改操作

全文索引(FULLTEXT)

作用:快速定位特定数据
注意:
1、只能用于MyISAM类型的数据表(<mysql 5.6)
2、只能用于 CHAR 、 VARCHAR、TEXT数据列类型
3、适合大型数据集

创建索引

			1、创建表时添加
			2、建表后追加:
				语法: ALERT TABLE 表名 ADD  索引类型(数据列名)
			3、删除索引
					DROP    INDEX  索引名  ON   表名
					ALTER  TABLE  表名		DROP    INDEX		索引名
					ALTER  TABLE  表名		DROP    PRIMARY  KEY
			4、查看索引
					SHOW    INDEX(或KEYS)  FROM  表名

三、索引准则

1、索引不是越多越好
2、不要对经常变动的数据加索引
3、小数据量的表建议不要加索引
4、索引一般应加在查找条件的字段

四、添加正确的索引

什么时候添加索引?

1、在WHERE,ORDER BY 子句中经常使用的字段
2、字段的值是多个(例如性别字段则不适合)
3、字段内容不是经常变化的
经常变化的字段,添加索引反而降低性能
4、不宜过多添加索引
每添加一条索引都会占用磁盘空间

五、mysql复制表的两种方式。

第一、只复制表结构到新表
create table 新表 select * from 旧表 where 1=2
或者

create table 新表 like 旧表

第二、复制表结构及数据到新表

create table新表 select * from 旧表

六、寄语专区:

在这里插入图片描述

发布了41 篇原创文章 · 获赞 13 · 访问量 4729

猜你喜欢

转载自blog.csdn.net/weixin_46163590/article/details/104535206
今日推荐