覆盖索引的定义与注意事项
如果一个索引覆盖(包含)了所有需要查询的字段的值,这个索引就是覆盖索引 。因为索引中已经包含了要查询的字段的值,因此查询的时候直接返回索引中的字段值就可以了,不需要再到表中查询,避免了对主键索引的二次查询,也就提高了查询的效率 。
要注意的是,不是所有类型的索引都可以成为覆盖索引的 。因为覆盖索引必须要存储索引的列值,而哈希索引、空间索引和全文索引等都不存储索引列值,索引MySQL只能使用B-Tree索引做覆盖索引 。
另外,当发起一个被索引覆盖的查询(索引覆盖查询)时,在explain(执行计划)的Extra列可以看到的信息 。
覆盖索引的优点
1.索引条目通常远小于数据行的大小,因为覆盖索引只需要读取索引,极大地减少了数据的访问量 。
2.索引是按照列值顺序存储的,对于IO密集的范围查找会比随机从磁盘读取每一行数据的IO小很多 。
3.一些存储引擎比如MyISAM在内存中只缓存索引,数据则依赖操作系统来缓存,因此要访问数据的话需要一次系统调用,使用覆盖索引则避免了这一点 。
4.由于InnoDB的聚簇索引,覆盖索引对InnoDB引擎下的数据库表特别有用 。因为InnoDB的二级索引在叶子节点中保存了行的主键值,如果二级索引能够覆盖查询,就避免了对主键索引的二次查询 。
15.视图的优缺点?优点1.简化了操作:此时我们完全不用关心视图是怎么处理数据的,我们只需要知道如何使用这个结果集即可,视图相当于一个中间层 。
2.更加安全:比如我们可以让用户有权去访问某个视图,但是不能访问原表,这样就可以起到保护原表中某些数据的作用 。
3.管理权限是无法细致到某一个列的,通过视图,则很容易实现 。
4.降低耦合:假如我们以后要修改原表的结构,那么我们可以通过修改视图的定义即可,而不用修改应用程序,对访问者是不会造成影响的,一般来说,这样代价会更小 。
缺点1.性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的 。
2.表依赖关系:将根据数据库的基础表创建一个视图 。每当更改与其相关联的表的结构时,都必须更改视图 。
16.主键和唯一索引区别?主键是一种约束,唯一索引是一种索引,两者在本质上是不同的 。
主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键 。唯一性索引列允许空值,而主键列不允许为空值 。主键列在创建时,已经默认为非空值 + 唯一索引了 。主键可以被其他表引用为外键,而唯一索引不能 。一个表最多只能创建一个主键,但可以创建多个唯一索引 。主键和唯一索引都可以有多列 。主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等 。在 RBO 模式下,主键的执行计划优先级要高于唯一索引 。两者可以提高查询的速度 。索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针 。
总体来说:主键相当于一本书的页码,索引相当于书的目录 。
其实主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中,主键一般都要建,主要是用来避免一张表中有相同的记录,索引一般可以不建,但如果需要对该表进行查询操作,则最好建,这样可以加快检索的速度 。
17.如何随机获取一条记录?select * from posts ORDER BY rand() LIMIT 1;18.查看当前表有哪些索引?show index from posts;19.什么情况下索引不生效?使用不等于查询NULL值列参与了数学运算或者函数 。在字符串like时左边是通配为.比如 %xxx 。当mysql分析全表扫描比使用索引快的时候不使用索引 。当使用联合索引,前面一个条件为范围查询,后面的即使符合最左前缀原则,也无法使用 引.20.聊聊MVVC?本质多版本并发控制(Multiversion concurrency control,MCC 或 MVCC),是数据库管理系统常用的一种并发控制,也用于程序设计语言实现事务内存 。乐观并发控制和悲观并发控制都是通过延迟或者终止相应的事务来解决事务之间的竞争条件来保证事务的可串行化;这两种并发控制机制确实能够从根本上解决并发事务的可串行化的问题,但是其实都是在解决写冲突的问题,两者区别在于对写冲突的乐观程度不同(悲观锁也能解决读写冲突问题,但是性能就一般了) 。而在实际使用过程中,数据库读请求是写请求的很多倍,我们如果能解决读写并发的问题的话,就能更大地提高数据库的读性能,而这就是多版本并发控制所能做到的事情 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 武汉长江大桥汉阳桥头电梯开了吗2021
- 成都有山姆超市吗
- 2021拼搏励志语录(关于2021拼搏励志语录
- 京东2021双十一活动几号开始几号结束
- 2021肯德基万圣节海绵宝宝玩具有几款
- 2021年春分是几月几日 春分是立春吗
- 2021年全国取消禁摩令 摩托车京a牌照多少钱
- 健身教练证怎么考 乐刻健身教练培训多少钱
- 2021单人玩职业推荐 暗黑3攻略心得
- 考试成绩猜一个数学名词 成绩是多少打一数字