首页 > 数据库 >MySQL索引和视图

MySQL索引和视图

时间:2023-06-07 17:22:06浏览次数:27  
标签:-- 视图 查询 索引 MySQL 主键

索引

1、简介

  • 在MySQL中,索引index也叫做“键key”,它是存储引擎用于快速找到记录的一种数据结构
  • 索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响就愈发重要
  • 索引优化应该是对查询性能优化最有效的手段,创建一个真正优秀的索引经常需要重写SQL查询语句

2、语句

  • create index indexName on table(字段名)

3、索引的注意

  • 数据多才用,它会增加查询效率,微微拖慢增删改的效率
  • 最好是唯一性较强的数据才建立索引,唯一性不强反而拖慢增删改
  • 索引也会占用数据库的空间
  • 一般索引在一张表中不能很多,要不然占用空间会很大
  • 索引是数据库中一块独立的空间,专门存储索引值的是B-树
  • 索引大大减少了MySQL服务器需要扫描的数据量
  • 索引可以帮助服务器避免排序和临时表
  • 索引可以将随机I/O变为顺序I/O

4、索引的分类

  • 索引的分类
    • 常规索引
      • 常规索引,也叫普通索引(index或key),它可以常规地有效提高查询效率,一张数据表中可以有多个索引,常规索引是使用最普遍的索引类型,如果没有明确指明索引类型,我们所说的索引都是指常规索引
    • 主键索引
      • 主键索引,就是主键,它可以提高查询效率,并提供唯一性约束。一张表中只能有一个主键。被标志为自动增长的字段一定是主键,但主键不一定自动增长。一半把主键定义在无意义的字段上,主键的数据类型最好是数值。
    • 唯一索引
      • 唯一索引可以提高查询效率,并提供唯一性约束。一张表中可以有多个唯一索引。
    • 外键索引
      • 外键索引简称外键,它可以提高查询效率,外键会自动和对应的其他表的主键关联。外键的主要作用是保证记录的一致性和完整性。

视图

1、简介

  • MySQL视图是一种虚拟存在的表,同真实表一样,视图也由列和行构成,但视图并不实际存在于数据库表中
  • 行和列的数据来自于定义视图的查询中所使用的表,并且还是在使用视图时动态生成的

2、优点

  1. 定制用户数据,聚焦特定的数据
  2. 简化数据操作
  3. 提高数据的安全性
  4. 共享所需数据
  5. 更改数据格式
  6. 重用SQL语句

3、创建,查看视图

-- 创建视图
create view <视图名> as <select语句>

-- 使用视图,相对于对表查询
select * from <视图名>

-- 查看视图结构
describe <视图名>

-- 显示创建视图详细信息
show create view <视图名>

-- 修改视图
alter view <视图名> as <select语句>

-- 删除视图
drop view if exists <视图名>

标签:--,视图,查询,索引,MySQL,主键
From: https://www.cnblogs.com/dimension0116/p/17464020.html

相关文章

  • PGAdmin 索引基本操作
    --创建索引CREATEINDEXindex_statistics1ONdbo.integral(deleted,pid,created);--删除索引(需要选中dbo)DROPINDEXindex_statistics5--查询索引SELECT*FROMpg_indexesWHEREschemaname='dbo'andtablename='integral'--分析sqlEXPLAIN......
  • Mysql union all+括号引起的性能问题
    SQL如下(MYSQL版本为8.0.17):selectlastnamefrom(selectid,loginid,workcode,lastnamefromHrmResourceunionallselectid,loginid,''asworkcode,lastnamefromHrmResourceManager) a  where(idin(83109));mysql>explainselectlastnamefrom(s......
  • mysql 慢查询的简要介绍
    如何配置与查看慢查询mysql慢查询相关命令:#查看慢查询是否开启SHOWVARIABLESLIKE'%slow_query_log%'#开启慢查询SETGLOBALslow_query_log='ON'#查看慢查询日志位置SHOWVARIABLESLIKE'%slow_query_log_file%'#查看慢查询阈值,单位:秒SHOWGLOBALVARIABLES......
  • 9、hive的explode、Lateral View侧视图、聚合函数、窗口函数、抽样函数使用详解
    ApacheHive系列文章[1、apache-hive-3.1.2简介及部署(三种部署方式-内嵌模式、本地模式和远程模式)及验证详解][2、hive相关概念详解--架构、读写文件机制、数据存储][3、hive的使用示例详解-建表、数据类型详解、内部外部表、分区表、分桶表][4、hive的使用示例详解-事务表、......
  • mysql-编写脚本-批量插入数据
    一、代码--报工设置,添加数据set@org_id='租户id';set@created_user='yike';set@updated_user='yike';set@dispatch_list_id=<物料id>;set@process_name='工序名称';set@process_code='工序code';set@code=&......
  • MySQL逻辑架构及执行过程
    一:MySQL逻辑架构1:MySQL逻辑架构客户端进程发送请求后服务器进程对接受的客户端请求做了什么处理,才能产生最后的处理结果呢?下面就看看大致的逻辑架构图上图基本组件介绍:连接层:Connectors【连接器】:MySQL服务之外的客户端程序请求MySQL或进行权限验证......
  • mysql 查询故障排查之字符集的锅
    在查询优化的处理中,一般想到的是在对应关联字段上增加对应索引来加快访问速度.但有时加了索引,即使是唯一索引也无法提高查询速度. descselectxxx;查看对应自行计划,使用了索引,但是对应的耗时却特别的高. descformat=jsonselectxxxx;查看具体的消耗发现在表字段关联的......
  • 慢 SQL 优化之索引的作用是什么? | 京东云技术团队
    前言本文针对MySQL数据库的InnoDB存储引擎,介绍其中索引的实现以及索引在慢SQL优化中的作用。本文主要讨论不同场景下索引生效与失效的原因。慢SQL与索引的关系慢SQL优化原则数据库也是应用,MySQL作为一种磁盘数据库,属于典型的IO密集型应用,并且随机IO比顺序IO更昂贵。真......
  • MySQL基础
    使用命令行窗口链接MySQL数据库。操作示意图。数据库三层结构。1.所谓安装MySQL数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(databasemanagesystem)2.一个数据库中可以创建多个表。以保存数据。3.数据库管理系统(DBMS)、数据库和表的关......
  • 006 数据库学习笔记--字符串操作函数 + 索引
    常用字符串操作函数:--返回字符串中指定的子串出现的开始位置(索引从1开始)selectCHARINDEX('34','1234567890123')asstartIndex--返回字符串中指定的子串出现的开始位置(索引从1开始,字串前必须加%)selectPATINDEX('%34%','1234567890123')asstartIndex--大小写转化s......