MySQL学习笔记——索引和视图

索引(index)和管理索引

模式中的一个数据库对象

作用:在数据库中用来加速对表的查询

创建:自动在主键和唯一键上面创建索引

通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O

与表独立存放,但不能独立存在,必须属于某个表

由数据库自动维护,表被删除时,该表上的索引自动被删除

索引的作用类似于书上的目录,几乎没有一本书没有目录,因此几乎没有一张表没有索引

索引:在经常查询的字段上面建立索引,利用index对查询进行优化,(index可以避免对表的一个全面扫描)

原理:当以某个字段建立一个索引的时候,数据库就会生成一个索引页,索引页不单单保存索引的数据,还保存了索引在数据库的具体的物理地址

注意:如果表的列很少,不适合建立索引。当执行过很多次的insert、delete、update后,会出现索引碎片。影响查询速度,我们应该对索引进行重组

重组方法:drop index index_name;

     create index index_name on table(column)

# 手动创建索引
CREATE INDEX index_tb_dept_name
ON tb_dept(NAME);

# 使用索引,在where之后加上索引,提高查询效率
SELECT * FROM tb_dept WHERE NAME=‘Tom‘

视图与管理视图

视图的好处:可以限制对数据的访问、可以是复杂的查询变得简单、提供了数据的独立性、提供了对相同数据的不同显式

# 创建视图
CREATE VIEW emo_v_10 AS
SELECT NAME AS ‘名字‘,sex ‘性别‘,age ‘年龄‘
FROM tb_emp
WHERE dept_id=2;

# 使用视图
SELECT * FROM emo_v_10
时间: 2024-10-06 15:05:41

MySQL学习笔记——索引和视图的相关文章

MySQL学习笔记-索引操作语句

通过例子来说明如何查看,删除和添加索引,先建立一个表,如下: mysql> create table stu (         -> id int,         -> name char(5),         -> key name(name),         -> unique key id(id)         -> ); 1.查看表的索引(两种方法) (1)show index from 表名; (2)show create table 表名; 2.删

mysql学习笔记之四(视图)

视图 通过对视图的操作不仅可以实现查询的简化,而且还会提高安全性 视图: 本质是一种虚拟表,其内容和真实表相似,包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储数据值的形式存在.行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成. 视图使程序员只关心感兴趣的某些特定数据和他们所负责的特定任务.这样程序员只能看到视图所定义的数据而不是视图所引用表中的数据.从而提高了数据库中数据逇安全性. 特点: 1.视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系

MySQL学习笔记--索引的创建,删除

/*索引*/ /*索引设计原则 1.尽量选择唯一性索引 2.为经常需要order by,group by,distinct,union的字段设置索引 3.为常作为查询条件的字段设置索引 4.限制索引的数目 5.尽量使用数据量少的索引,索引值长,查询慢 6.尽量使用前缀来索引 7.删除不再使用的索引,或者很少使用的索引 */ /*一般来说,应该在这些列上创建索引,例如:        第一.在经常需要搜索的列上,可以加快搜索的速度:         第二.在作为主键的列上,强制该列的唯一性和组织表

Mysql学习笔记(十一)临时表+视图

原文:Mysql学习笔记(十一)临时表+视图 学习内容: 临时表和视图的基本操作... 临时表与视图的使用范围... 1.临时表   临时表:临时表,想必大家都知道这个概念的存在...但是我们什么时候应该使用到临时表呢?当一个数据库存在着大量的数据的时候,我们想要获取到这个数据集合的一个子集,那么我们就可以使用临时表来保存我们想要的数据..然后对临时表进行操作就可以了...使用临时表必然是有原因的..使用临时表会加快数据库的查询性能.... create temporary table tmp_

Mysql学习笔记(八)索引

原文:Mysql学习笔记(八)索引 PS:把昨天的学习内容补上...发一下昨天学的东西....五月三日...继续学习数据库... 学习内容: 索引.... 索引的优点: 1.通过创建唯一索引,可以保证数据库每行数据的唯一性... 2.使查找的速度明显加快... 3.当使用分组和排序进行查询时,可以缩短时间... 索引的缺点: 1.维护索引需要耗费数据库的资源... 2.索引需要占用磁盘空间... 3.对表进行增删改的时候,由于索引的存在,时间会有所增加... 索引的分类... 普通索引和唯一索引

MySQL学习笔记—视图

MySQL学习笔记-视图 视图是查看基础表数据的一种方式,其作用有 - 简化开发难度,可以运用视图执行多表操作 - 数据安全,开发人员不能直接对表操作,也不能进行删除,修改操作 - 数据重构,在有限的表中,以不同的角度生成所需的视图,简化业务 CREATE VIEW语法 CREATE VIEW语法: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS

mysql学习笔记-简介

1.数据存储方式3个阶段 1.人工管理阶段 2.文件系统阶段 3.数据库系统阶段 数据库组成 1.数据库由若干张表组成,表由若干个字段组成 2.关系数据库的表都是二维表 2.数据库泛型(创建数据库必须满足的要求) 1.第一范式(1NF):设计数据库满足的最低要求表中不能有重复字段,并且每个字段不能在拆分 3.数据库技术构成 1.数据库系统 2.sql语句 3.数据库访问技术等 4.sql语言分类 1.DDL(数据定义语言):主要用于创建表,视图,索引,触发器等.其中包括CREATE(创建表),A

MySQL学习笔记—触发程序

MySQL学习笔记-触发程序 触发程序是与表有关的命名数据库对象,当表上发生特定事件时,将触发执行相应的触发程序. CREATE TRIGGER语法 CREATE TRIGGER语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象. 触发程序与命名为tbl_name的表相关.tbl_na

MySql学习笔记(转载)

/* 启动MySQL */net start mysql /* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密函数password()update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABLES -- /* 数据库操