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 <视图名>

posted @ 2023-06-07 17:15  、怪咖  阅读(27)  评论(0编辑  收藏  举报