子查询
单行子查询:返回一行记录的子查询
多行子查询:返回多行记录的子查询
合并查询
把多个sql查询结果的集合,合并到一起。
union关键字
union允许把两个不同的表,查询结果合并到一起。合并时,会去重。不想去重,使用union all。
MySQL索引事务
(重点)
索引(index) 目录
如果表非常大,遍历成本高
数据库把存数据存储在硬盘上,每次读取一个数据,都需要读取硬盘
索引是针对查询操作引入的优化手段,加快查询速度,避免针对表进行遍历。
索引可以提高查询速度,但有些弊端:
1.占用更多的空间,生成索引,需要一系列的数据结构,以及一系列的额外数据,来储存在硬盘空间。
2.可能会降低插入修改删除的速度。
实际开发中,查询(读)的频率,比插入删除查找(写)的频率高很多。
索引的相关操作
1.查看索引
show index from 表名;
2.创建索引
create index 索引名 on 表名(列名);
3.删除索引
drop index 索引名 on 表名;
主键,外键,unique 都只会自动生成索引的
一个索引是针对一个列进行指定的,只针对这一列进行条件查询,查询速度才能够被索引优化。
手动创建的索引,可以手动删除。自动创建的索引,不能删除。
索引是通过一定的数据结构来实现的。