MySQL索引与视图

索引

一、索引的概念
	索引索引是由表中的列构成,创建索引的目的是提高搜索速度,类似于字典的目录,方便于我们快速查询。
二、索引的优缺点
	优点:速度快
	缺点:创建时间长,硬盘空间占用大。
三、索引的分类
	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 表名

索引对性能的提升案例:
在如下一张日志表中一共有十三万行数据
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
可以看到我们要查询单独的一条数据的haul需要花0.409秒的时间。
在这里插入图片描述
而当我为moduleid列创建索引之后
在这里插入图片描述
时间只需要花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 查询语句

在这里插入图片描述

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

存储过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值