当前位置: 首页 > news >正文

mysql覆盖索引和超大页解决

1. 覆盖索引?

	覆盖索引是指查询使用了索引,返回的列,必须在索引中能够全部找到。

举例:user表中,id为主键索引,name为普通索引,age为普通字段。判断下列哪几种情况属于覆盖索引?

 --通过主键索引就能得到id的值,返回的数据都是属于索引列字段,这个情况是覆盖索引。
select id from user where id = '1';  --通过普通索引,查询结果为id,name,返回的数据都属于索引列字段,这个情况也属于覆盖索引。
select id,name from user name = '张三';--通过普通索引,查询得到id,name,age ,其中id,name属于索引列字段,age还需要通过id查询得到
(即需要回表的过程才能得出age),这个情况不属于覆盖索引。 
select id,name,age from user where name = '张三';

2.解决超大分页的方案?

超大页出现的情况:

select id,name,age from user order by id limit 1000000,10;

这种情况需要先查询出前面100w条数据,然后在查询后面的10条数据,实际情况中,我们只需要返回100w条后面的数据,效率很低。

通过子查询和优化:

select * from user u,(select id,name,age from user order by id limit 1000000,10) a
where u.id = a.id;

http://www.mrgr.cn/news/12809.html

相关文章:

  • 网络通信编程UDP/TCP
  • Vue2路由守卫:解决路由传参页面刷新后参数消失的问题
  • IntelliJ IDEA智能代码补全​和集成AI助手说明及操作
  • uniapp video标签无法播放视频
  • C++-标准库 智能指针smart pointer
  • 端口号问题(开发)
  • 云微客短视频矩阵如何打造多元化的视频内容呢?
  • 交换机自动化巡检(H3C)
  • linux下一切皆文件,如何理解?
  • 谁说微生态研究都是结果描述?
  • 【区块链 + 司法存证】枢纽链:区块链司法存证平台 | FISCO BCOS应用案例
  • 怎么把mp4转换成mp3?5种转换方法教会你
  • 【架构设计】安全架构设计
  • 在idea中回滚到某节点并push到远程仓库
  • 系统编程-消息队列
  • 【STM32】FSMC
  • leetcode 560 和为k 的子数组
  • spring整合redis(常用数据类型操作)
  • [英语单词] quorum
  • 呼入的电话通过http接口转接(mod_cti基于FreeSWITCH)