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

MySQL的索引和复合索引

由于MySQL自动将主键加入到二级索引(自行建立的index)里,所以当select的是主键或二级索引就会很快,select *就会慢。因为有些列是没在索引里的
假设CA有1kw人咋整,那我这个索引只起了前一半作用。
在这里插入图片描述
在这里插入图片描述
所以用复合索引,那么复合索引的列索引顺序也很重要,首先肯定要把最重要的像分类的排第一,其次是索引的区分度高的(性别只能分出两类,索引效果N/2,不如居住的state,索引效果N/48)
最重要的是你的查询,如下两图,看看怎么能更好的区分,后一种查询的row更少
在这里插入图片描述
在这里插入图片描述
假设复合索引是对(state, points)复合的,那么用其排序也是有说道的,下面三个都是能利用到索引的排序,因为索引先将a排序然后按b排序存储的,如图所示(当然如果WHERE state = 'CA’然后对points排序也肯定是利用到了索引的)

  • state
  • state, points
  • state DESC, points DESC
    在这里插入图片描述
http://www.lryc.cn/news/226199.html

相关文章:

  • 关于mac下pycharm旧版本没删除的情况下新版本2023安装之后闪退
  • Django中如何让DRF的接口针对前后台返回不同的字段
  • 【机器学习】Kmeans聚类算法
  • getid3 获取视频时长
  • 如何知道一个程序为哪些信号注册了哪些信号处理函数?
  • 34 mysql limit 的实现
  • jbase实现申明式事务
  • 如何在在线Excel文档中规范单元格输入
  • 力扣138:随机链表的复制
  • C语言左移与右移学习
  • asp.net core mvc之 视图
  • ChatGLM3 tool_registry.py 代码解析
  • js实现定时刷新,并设置定时器上限
  • 常用Linux命令
  • 【C++】获取指定点所在屏幕的尺寸
  • 软文发布如何选择对应的媒体
  • Django如何创建表关系,Django的请求声明周期流程图
  • 微服务-我对Spring Clound的理解
  • 安防监控EasyCVR视频汇聚平台无法接入Ehome5.0是什么原因?该如何解决?
  • 机器学习——逻辑回归
  • 自动驾驶学习笔记(七)——感知融合
  • 【Java0基础学Java第八颗】 -- 继承与多态 -- 多态
  • 玩转ansible之参数调试和文件操作篇
  • JVM虚拟机:垃圾回收器之Parallel Old(老年代)
  • Stream流的groupingBy
  • 如何在不结束tcpdump的情况下复制完整的pcap
  • maven POM文件总体配置说明
  • 49.批处理命令(1/2)
  • react类式组件的生命周期和useEffect实现函数组件生命周期
  • ARM 基础学习记录 / 异常与GIC介绍