mysql 视图会走索引吗_MySQL数据开发技术——视图和索引

本文介绍了MySQL中的视图和索引。视图是逻辑上的数据集合,分为简单视图和复杂视图,允许执行DML操作,但受某些限制。在视图上进行DML操作时,需要注意GROUP函数、GROUP BY子句和使用表达式的列等。索引是提升查询效率的特殊数据库结构,所有数据类型都可建立索引,创建索引有多种方式,包括创建表时创建、在已存在表上创建以及使用ALTER TABLE语句。同时,文章讨论了如何删除不再需要的索引以优化性能。
摘要由CSDN通过智能技术生成

视图概述

视图是逻辑上来自一个或多个表的数据集合。

视图的分类

视图分为简单视图和复杂视图,最基本差别在

DML操作上

创建视图

视图语法:

图片.png

-创建视图时,在子查询中使用列的别名

图片.png

修改视图

用create or replace view子句修改视图,为每个列添加别名。

图片.png

CREATE VIEW子句中别名的顺序必须和内部查询中

的列的顺序一一对应。

视图上执行dml操作

• 在简单视图上可以执行 DML 操作;

• 您可以通过视图 删除基表中数据,只要视图中不出现

以下情况:

– Group 函数;

– GROUP BY 子句;

– DISTINCT 关键字;

• 您可以通过视图 修改基表中数据,只要视图中不出现

以下情况:

– GROUP函数、GROUP BY子句,DISTINCT关键字;

– 使用表达式定义的列;

• 您可以通过视图向基表 插入数据,只要视图中不出

现以下情况:

– GROUP函数、GROUP BY子句,DISTINCT关键字;

– 使用表达式定义的列;

– 基表中未在视图中选择的其它列定义为非空并且没有默认值;

• 如果要确保在视图上执行的DML操作仅限于一定的

范围,便可使用WITH CHECK OPTION子句;

图片.png

删除视图

删除视图并不会删除数据,因为视图是基于数据库中的基表的虚表。

图片.png

索引概述

索引简介

– 索引是一种特殊的数据库结构,可以用来快速查询数据库

表中的特定记录。索引是提高数据库性能的重要方式。

MySQL中,所有的数据类型都可以被索引 。

创建索引

创建索引是指在某个表的一列或多列上建立一

个索引,以便提高对表的访问速度。创建索引

有三种方式,这三种方式分别是:

– 创建表的时候创建索引

– 在已经存在的表上创建索引

– 使用ALTER TABLE语句来创建索引

创建表时候创建索引

• 创建表的时候可以直接创建索引,这种方式最简

单、方便。其基本形式如下:

• CREATE TABLE 表名 ( 属性名 数据类型 [完整

性约束条件],

属性名 数据类型 [完整性约束条件],

属性名 数据类型

[UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY

[别名](属性名1 [(长度)] [ASC | DESC])

);

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

图片.png

alter table语句来创建索引

ALTER TABLE 表名 ADD [ UNIQUE |

FULLTEXT | SPATIAL ] INDEX

索引名(属性名 [ (长度) ] [ ASC | DESC])

删除索引

删除索引是指将表中已经存在的索引删除掉。

一些不再使用的索引会降低表的更新速度,影

响数据库的性能。对于这样的索引,应该将其

删除。

• 对应已经存在的索引,可以通过DROP语句来

删除索引。基本形式如下:

• DROP INDEX 索引名 ON 表名 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值