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

mysql 索引建立

如何建立mysql索引?

创建索引原则

1、左前缀原则 :

  mysql索引匹配会从右匹配,到遇到( >  < between like)终止。如 我们建立索引(a,b,c,d), a = 1 and  b=2 and  c>3 and d=4。此时,索引d不会被用上。真正有效的索引(a, b, c)。如果把索引建立成(a,b,d,c), 则四个索引都能被用上

2、in 和  = 顺序可以随意。

  如可建立索引(a, b , c)任意顺序 ,  a = 1 and  c=2 and  b=3 , 三个索引依然有效。这是Mysql查询优化器优化成可以识别的索引形式

3、扩展索引,尽量不新建索引。

  如原有索引(a), 现在有需求,需要索引(a, b),这时你完全没必要去新建一个索引(a, b)。你只需要扩展你原有的索引(a),把它改为(a, b).此时, 既能保证原有的索引,也能达到新索引的目的。如 a = 1     a = 1 and b=2    这两个分别能走到索引(a),(a, b)

4、尽量选择区分度高的列作为索引

  区分度的公式是count(distinct X)/count(*), 表示字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是1,而一些状态、性别字段可能在大数据面前区分度就是0

转载于:https://www.cnblogs.com/chenmo-xpw/p/5645788.html

相关文章:

  • 基础语法
  • 配置Linux任务计划
  • Anaconda + eclipse + pydev 开发,
  • C语言strchr()函数:查找某字符在字符串中首次出现的位置
  • javaWeb开发中读取资源文件方法总结
  • 数据库关注
  • 向量夹角顺时针或逆时针,交叉口向左拐向右拐的问题
  • 上传自己写的cacti文档,由于都是图片,自己博客保存一份记录
  • 输入输出流类iostream常用函数解析
  • 自拟定端口号
  • es的写入过程
  • Kubernetes 集群的两种部署过程(daemon部署和容器化部署)以及glusterfs的应用!...
  • mysql常用的数据备份方案
  • Bitbucket Pipelines在Atlassian的Bitbucket云上提供持续交付功能
  • 下拉菜单的编辑
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • CentOS7简单部署NFS
  • javascript 总结(常用工具类的封装)
  • JavaScript创建对象的四种方式
  • JS题目及答案整理
  • LintCode 31. partitionArray 数组划分
  • Linux链接文件
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • ReactNativeweexDeviceOne对比
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue--为什么data属性必须是一个函数
  • vue总结
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 大主子表关联的性能优化方法
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 再谈express与koa的对比
  • 容器镜像
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #大学#套接字
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (c语言)strcpy函数用法
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (二)linux使用docker容器运行mysql
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (强烈推荐)移动端音视频从零到上手(上)
  • (循环依赖问题)学习spring的第九天
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)http-server应用
  • ..回顾17,展望18
  • .htaccess配置重写url引擎
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .Net core 6.0 升8.0
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .net Stream篇(六)
  • .NET 指南:抽象化实现的基类
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换