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

sql--索引使用 ---覆盖索引

覆盖索引

Select 后接 * 走id索引才是最优,使用二级索引则需要回表(性能稍差)

前缀索引

Create index 索引名 on 表名( 字段名( n ) )  

n数字   n代表提取这个字符串的n个构建索引

??那么 n 为几性能是最好的呢?

distinct 去重

Count 统计

Select count(*)from tb_user  -- 总数量

Select count( distinct email)from tb_user   -- 去重后数量

图片是去重 email 前五位相同的 数量

计算选择性

字段去重后数量/字段总数  = 1   选择性越接近1  或等于1  是选择性是最好的

单列索引与联合索引的选择

Select id, phone,name  from tb_user where phone = ‘17799990010’ and name = ‘韩信’

Elplain查看执行计划    phone和name都是单列索引,只走了一个索引

Select 需要的数据为  id, phone,name

                                     Extra 为null 代表需要回表查询

单列索引--不涉及覆盖查询,叶子节点只有phone 和 id 需要回表才能得到name

创建联合索引    创建唯一索引关键字 unique

Create unique index 索引名 on 表名(字段名1,字典名2)

创建phone 和 name 的联合索引进行查询

查看执行计划

覆盖查询

更建议建立联合索引--提升效率

索引设计原则

主键索引 唯一索引 常规索引  全文索引   全部分为两类 聚集索引  二级索引

聚集索引肯定存在且只有一个,默认主键索引就是聚集索引,如果没有主键,则默认第一个唯一索引为聚集索引,如果主键和唯一索引都没有则会隐藏的生成rowid作为聚集索

http://www.lryc.cn/news/211954.html

相关文章:

  • 系统平台同一网络下不同设备及进程的话题通讯--DDS数据分发服务中间件
  • 轻量级 IDE 文本编辑器 Geany 发布 2.0
  • 好用工具分享 | tmux 终端会话分离工具
  • 计算机网络重点概念整理-第三章 数据链路层【期末复习|考研复习】
  • 迅速的更改conda 环境的名称!
  • 基本微信小程序的外卖点餐订餐平台
  • 十大排序算法(C语言)
  • iTransformer: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING
  • QT C++ AES字符串加密实现
  • 关于mysql json字段创建索引
  • “探索Linux世界:从CentOS安装到常见命令使用“
  • SVN出现Cleanup failed to process the following paths...
  • gitee上传项目
  • 实现文件上传和下载
  • 大数据-Storm流式框架(七)---Storm事务
  • Kafka - 3.x Kafka消费者不完全指北
  • Gerrit | 重磅! 2.x 版本升级到 3.x 版本----转
  • 使用c++编程语言,用递归的方法求第n个斐波那契数,代码如下
  • git config pull.rebase false
  • Spring面试题:(一)IoC,DI,AOP和BeanFactory,ApplicationContext
  • RabbitMQ如何保证消息不丢失呢?
  • VR步进式漫游,轻松构建三维模型,带来展示新形式!
  • 英语——分享篇——常用人物身份
  • 202310-宏基组学物种分析工具-MetaPhlAn4安装和使用方法-Anaconda3- centos9 stream
  • systrace/perfetto如何看surfaceflinger的vsync信号方法-android framework实战车载手机系统开发
  • 一文带你彻底弄懂js事件循环(Event Loop)
  • 数据结构与算法:二叉树之“堆排序”
  • gma 2 教程(三)坐标参考系统:2.基准面/椭球体
  • 【1day】复现广联达-Linkworks 协同办公管理平台信息泄露漏洞
  • Spring Cloud之ElasticSearch的学习【详细】