栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 大数据 > 大数据系统

day04数据库个人复习理解

大数据系统 更新时间:发布时间: 百科书网 趣学号
索引

概述:
索引是一种排好序的 快速查找的数据结构,他帮助数据库高效的进行检索,外数据之外,数据库系统还维护这满足特定查找算法的数据结构(额外的数据空间) ,这些数据结构以某种方式指向数据,这样就可以在这些数据结构上实行高效的查找算法,这种数据结构就叫索引

索引是一种排好序的,快速查找的数据结构,他帮助数据库高效的进行检索,在数据之外,数据库还维护着满足特定查找算法的数据结构,这种结构占用额外的数据空间,这些数据结构以某种方式指向数据,所以可以在数据结构上实现高效的查找算法,这种数据结构就叫索引.

索引是一种排好序的,快速查找的数据结构,能帮助数据库实现高效的检索,在数据外,数据库还维护着满足特定高效查找的数据结构,这种数据结构指向数据,能在数据结构上实现高校查询,就叫做索引

为了提高查询效率,索引会单独生成一张表,要合理的使用索引
分类:
单值索引:一个索引只能包括一个字段
唯一索引:索引的值必须唯一,允许有空值,主键可以自动创建索引
复合索引:一个索引可以包括多个字段(存在最左特性,意思就是最左边的字段必须存在于你的查询中,多种查询方式中只要存在最左边的就成立,不存在就会造成索引失效的效果)

使用步骤:(是设计的结果)
创建索引(经常使用指定字段查询)+使用索引
create index (索引名) on 字段名
查看索引
show index from 表名
使用索引
select * from emp where 存在索引的字段名
想要查看查询中是否存在索引在查询前加 explain
possible_keys 可能用到的索引

主键自带索引,提高查询效率

复合索引存在索引失效的情况,因为最左特性

为何索引快?

  1. 首先索引排序了,相当于二分查找异常有效的提高了查询的速度
  2. 过程:在事先排好序的索引表中,执行索引查询,之后直接用主键找到数据所在的位置返回数据

优点:
索引是数据库优化
表的主键会默认创建索引
每个字段都可以被索引
大量降低数据库的IO读写成本,极大的提高了检索速度
索引事先对数据进行了排序,大大提高了查询效率

缺点:
索引也是一张表,占用空间
索引表中的内容,数据库中都有,重复资源浪费
索引的信息也需要保存
业务的不断变化也需要不断更新索引

视图:缓存了SQL语句的执行结果,当做表来执行
create view 视图名 as 查询的sql语句
索引中包含视图
使用:1.创建视图 2.使用视图
好处:简化了SQL ,相同的sql需求不必再写sql了,直接查视图
视图可以被共享,试图屏蔽了真实业务表的复杂性
坏处:
无法被优化

多表联查

三种方式:

笛卡尔积

语法:#把两个表的数据用逗号都拼接起来 select * from dept,emp; 通过 表名.字段名=表名=字段名,描述两个表的关系

连接查询

分为三种:
内连接 inner join :取两张表的交集
左连接:left join :取左表的所有和

执行顺序,先定左表,然后拿着对应的关键条件查询右表,这样就不用全部读取了,比较高效,所以要求左表越简单越好 ,一般是小表

子查询

#查询员工姓名叫jack的部门信息和员工信息
SELECt * FROM dept,emp
WHERe dept.deptno=emp.deptno #描述了两张表的关系
AND emp.ename=‘jack’;#有同名需要强调表中的字段;;没有同名就可以直接写字段

IN 的用法 格式 IN 字段名 (,)
AND 和OR 连用的话 格式 AND (字段=’ ’ OR 字段=’ ')

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/280897.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号