mysql查询速度优化 这是type级别 越左边 查询速度越快 system>const>eq_ref>ref>range>index>ALL
怎么样才能让type靠左呢 就是建立索引 最左边的俩级 基本达不到 我们让查询type达到第三级和第四级就很好了 为什么这么说呢? 表主键 唯一索引也只能达到 eq_ref 级别的 如果不做索引的话 肯定都是ALL了…
Type级别解释 1.system级别 1.只有一条数据的系统表
2.或衍生表只能有一条数据的主查询
很明显 实际开发当中 我们是不会只有一条数据的
2.const级别 1.仅仅能查出一条的SQL语句并且用于Primary key 或 unique索引; SELECT * from shop s where s.id=? 主键索引 唯一索引 和 unique索引 达到这个级别 我们写sql 要根据公司的业务去写 这个情况也很难达到的
3.eq_ref级别 唯一性索引:对于每个索引键的查询,返回匹配唯一行数据(有且只有1个,不能多,不能0); 比如你select …from 一张表 where 比方说有一个字段 name = 一个东西,也就是我们以name作为索引,假设我之前给name加了一个索引值,我现在根据name去查,查完后有20条数据,我就必须保证这二十条数据每行都是唯一的,不能重复不能为空!
只要满足以上条件,你就能达到eq_ref,当然前提是你要给name建索引,如果name连索引都没,那你肯定达不到eq_ref;
此种情况常见于唯一索引和主键索引;
比如我根据name去查,但是一个公司里面或一个学校里面叫name的可能不止一个,一般你想用这个的时候,就要确保你这个字段是唯一的,id就可以,你可以重复两个张三,但是你身份证肯定不会重复;
添加唯一键语法:alter table 表名 add constraint 索引名 unique index(列名)
检查字段是否唯一键:show index form 表名;被展示出来的皆是有唯一约束的;
4.ref级别 ref 级别的 问题不大
非唯一性索引:对于每个索引键的查询,返回匹配的所有行(可以是0,或多个)
假设有俩张三 我建立了 非唯一索引 那么查出来就是这个级别拉 是不是很简单
5.range级别 检索指定范围的行,查找一个范围内的数据,where后面是一个范围查询 (between,in,> < >=); in 有时 有可能会失效,导致为ALL ;
6.index级别 把索引的数据全查出来 就是这个级别了
7.ALL级别 不做索引 就是all级别咯
总结 所以在做表的时候 频繁查询的 一定要建立索引 当然建立索引会放慢插入表数据的时间 不过一张表5-8个索引还是很常见的
本文为大海原创文章,转载无需和我联系,但请注明来自大海博客https://www,ypyunedu.com
goland2022.3 破解 Docker快速构建HaProxy集群,并配置好rabbitmq的负载均衡 docker快速搭建kafka集群 使用docker-compose 编排基础分布式架构 使用Consul配合Nginx实现动态负载均衡 Grafana + Prometheus监控篇之Windows监控Linux服务器资源 php zookeeper实现分布式锁 macvlan 用于 Docker 网络 千万级别数据mysql distinct group by redis实现分布式锁 SkyWalking 针对 gRPC 的负载均衡和自动扩容实践 kafka 新建消费组 如何消费信息 jenkins安装 sentinel Hystrix 部署 docker consul集群 Docker Jenkins 自己部署 Docker Kong MySQL查看数据库性能常用命令 docker磁盘空间不足解决办法 激活navicat提示rsa public key not find的问题 Warning: docker.service changed on disk. Run ‘systemctl daemon-reload‘ to reload unit docker 编辑Dockerfile 添加php7.2 acpu php curl error code linux查看文件指定的前几行和后几行的命令 swoole 知识小课堂 mysql索引慢查询于b+树 zend_mm_heap corrupted 使用opcache出状况 postman 遇到坑了post无法请求 上传文件超过1M,报跨域错误 win10 无法启动dhcp client服务 Jetbrains2021,Jetbrains2020,Jetbrains2019,Jetbrains2018等系列产品无限重置试用方法教程: phpexcel的大量数据导出[内存溢出测试验证] php aws 文件上传设置content_type 逐行处理并截取数据后二次指定字符串截取写入新文件 图片上传封装 aws 文件公网直接访问 SourceTree推送时检测不到本地分支解决办法 kibana查询语法 逐行处理并截取数据写入新文件 php-fpm 进程异常断开[记一次线上问题处理] 解决新版wampserver 2/3个服务都没有运行问题和wamp启动后无任何提示如何启动 phpstrom 插件之翻译工具 网页视频文件转换为MP4(.m3u8转为mp4),非命令行转换,想命令的别看这篇 Could not create token :Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead. Kibana 的安装(Windows版本) 秒级定时任务 mysql 查询优化 索引 type级别 springBoot 启动 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. jquery 获取 option id的值和多传参数的 Git 笔记 mq 队列项目中一些实践场景 php 数组一维按key拆分和替换二维数组的key php低版本的条形码如何生成mpdf.6.0.1 navivat连接不上 2003-Can‘t connect to Mysql server on ‘xxx‘ (10060 “Unknown error“) 阿里云漏洞提示修复,不用花钱 货拉拉搬家优惠卷,无忧搬家优惠券 phpstrom常用快捷键 idea java 快速生成命令 phpexcel,excel导入导出封装类 wampserver配置域名(php 开发环境) easysoole WebSocket connection to failed: Error in connection establishment: net::ERR_ 如果获取某库的文件,在把它转换成自己想要的格式 ppt自动下载 eclipse安装spring插件 Eclipse IDE for Java Developers - 2020-06 安装maven phpstrom sftp 使用和2021.1版本 sftp配置 php接入was s3相关问题记录 postman 添加token到headers实现自动登录 SourceTree gitlab 某大公司一面二面 某上市公司一面二面 面试笔记 小算法集合 腾讯tars微服务安装笔记 magento 开发记录 VMware - 虚拟机下CentOS7配置固定IP的方法 windows laravel中使用ElasticSearch详情 fastadmin无法上传视频和文件上传到七牛的操作 七牛云配置遇到的一些问题 fastadmin 令牌数据无效 navicat 提示 cat not open named pipe to host: pipe:/tmp/mysql.sock(2) YApi使用遇到的问题 IntelliJ IDEA全家桶激活 phpstrom2019 pystrom2019 破解 windows命令行 cmder CentOS 7部署frp穿透内网服务器 shell 定时备份mysql 上传七牛云 postman多环境配置token自动登录配置 laravel 中的定时任务不执行(出现用户权限不够导致失败问题解决 ) 利用阿里云域名免费证书 在宝塔中nginx配置https php xdebug phpstrom配置 shell 转发mysql隧道 微信公众号扫码关注和一键关注公众号的方法 yii2笔记 rabbitmq thinkphp5 路由模式 laravel5.8 路由分组实现
最新评论