欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL索引与视图

程序员文章站 2022-05-08 14:43:57
...

索引

一、索引的概念
	索引索引是由表中的列构成,创建索引的目的是提高搜索速度,类似于字典的目录,方便于我们快速查询。
二、索引的优缺点
	优点:速度快
	缺点:创建时间长,硬盘空间占用大。
三、索引的分类
	1.基本索引 :最基本的索引,没有限制。
	2.唯一索引 : 除了值唯一,和基本索引没什么区别。
	3.主键索引 : 特殊索引,一个表只能有一个主键,而且不能为空值。
	4.组合索引 : 在多个列段上创建索引,只有在查询中使用了创建索引的第一个字段时,才会被使用。在使用时遵循最左缀集合。
	5.全文索引 : 用于支持多列段的筛选,主要作用是提高查询较大字符串类型的速度。
	全文索引跟前四种索引不同,前四种索引是为了提高性能,而全文索引是为了完成一些特殊需求。
四、创建索引语法:
	create [unique | fulltext] index 索引名 on 表名 (字段名 [长度] 【asc | desc】)
	创建全文索引语法: 
		alter table 表名 add fulltext 索引名(列1,列2)
		select * from 表名 where match (列1,列2) againt (关键词)
五、修改索引语法:
	alter table 表名 add 【unique | fulltext】index 索引名 (字段名 【长度】【asc | desc】) 
六、删除索引语法:
	drop index 索引名 on 表名

索引对性能的提升案例:
在如下一张日志表中一共有十三万行数据
MySQL索引与视图

MySQL索引与视图
MySQL索引与视图
可以看到我们要查询单独的一条数据的haul需要花0.409秒的时间。
MySQL索引与视图
而当我为moduleid列创建索引之后
MySQL索引与视图
时间只需要花0.035秒。可以看出,索引对于我们查询数据有很高的提升性能的作用。

数据库备份:

		语法:
			1.导出整个数据库结构和数据:
				1.mysqldump -h localhost -uroot -p123456 database > dump.
				2.mysqldump -h localhost -uroot -p123456 db_xiaoli > d:/t_log_001.sql
				区别就在于上面的语句会在当前所在目录创建备份文件,下面的语句在指定目录下创建
			2.导出单个数据表结果和数据到指定的文件中:
				mysqldump -h localhost -uroot -p123456  database table > dump.sql
			3.导出整个数据库结构(不包含数据):
				mysqldump -h localhost -uroot -p123456  -d database > dump.sql
			4.导出单个数据表结构(不包含数据)
				mysqldump -h localhost -uroot -p123456  -d database table > dump.sql

视图

	作用:
		视图就是虚拟表,和普通数据表一样。作用有预编译表链接,编码更加便捷。
	创建:
		creat view 视图名 as 查询语句

MySQL索引与视图

	修改:
		creat or replace view 原有视图
		alter view 原有视图。
		注意,具备以下特点的视图不允许更新:
			1.包含以下关键字的sql语句:分组函数、distinct、group  by、having、union或者union all
			2.from一个不能更新的视图
			3.where子句的子查询引用了from子句中的表
	删除:
		drop view 视图名
		需要注意的是as后查询必须是表名,不能是视图名	

存储过程

相关标签: mysql