MySQL怎么给字符串加一个高效索引


需求

在日常需求中,用户使用手机号或者邮箱登录某一个系统,是一个很常见的操作,那如何在类似手机号或者邮箱这样的字段上建立一个合理的索引呢?

前缀索引

前缀索引,就是以一个字段值的一部分作为索引。如果在MySQL中创建索引时不指定索引字段的长度,则会使用整个字符串来建立索引。

语句1:
alter table test add index idx(email);
语句2:
alter table test add index idx(email(8));

对于语句1,创建的索引中,会包含每条记录中的整个email字符串值。

对于语句2,创建的索引中,保存的是每条记录中email字段的前8个字节。

使用前缀索引的优势很明显,那就是索引占用的空间会更小,整个索引树会更紧凑,树的高度相对更低。

但是相应的,索引的区分度会变低,可能导致索引扫描行数增加。

在我们创建索引时,索引的区分度是一个很重要的指标。区分度越高,重复的值就越少,扫描的效率就越高。

合理规划前缀索引的使用长度可以不仅节省空间,同时也避免需要额外扫描行数。具体使用多少的长度,建议根据我们的实际业务场景来判断、测试。

一览妙笔 一览妙笔

自媒体、编剧、营销人员写作工具

一览妙笔 50 查看详情 一览妙笔

倒序+前缀索引

倒序+前缀索引有一个经典的使用场景,就是对身份证号做索引。

假设我们现在要维护一个市县所有人的身份信息,其中按身份证号查询是一个高频场景。

身份证号码一共15位或者18位,一般来说,同一个市县的人身份证号前6位一般是相同的,如果直接对身份证号做全索引,那么会比较浪费空间,导致性能下降。如果使用直接前缀索引,前6位的区分度非常低(甚至可以说没有),因为大多数值的前6位都相同。

这时,使用倒序+前缀索引的好处就体现出来了。

我们先将身份证倒序存储,或者冗余一个倒序的身份证号字段,然后取前6位做前缀索引。

身份证后6位的区分度已经基本上够我们使用了,如果你还觉得查询速度不够,那取前8位也是没问题的。

以上就是MySQL怎么给字符串加一个高效索引的详细内容,更多请关注其它相关文章!


# 你还  # 茂名seo网络推广软件  # 39个seo推广案例  # 墨子seo网络  # 微信推广算二维码营销吗  # 延庆抖音营销推广  # 品牌联名推广营销  # 贵州大学网站建设方案  # 公众号营销与推广  # 抖音网站推广哪个好  # 宜昌百度网站优化排名  # MySQL  # 可以说  # 行数  # 如何设置  # 的是  # 的人  # 每条  # 越高  # 是一个  # 镜像 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 优化CSS动画与J*aScript定时器协同:构建稳定Toast提示  疯狂小鸟微信小游戏入口 疯狂小鸟网页版秒玩  《腾讯相册管家》注销账号方法  Animex动漫社社登录官网 Animex动漫社资源社入口直达  使用VS Code调试Python代码:从入门到精通  Win10如何查看已安装的更新补丁 Win10卸载指定更新教程【教程】  c++如何掌握指针的核心用法_c++指针入门到精通指南  PHP安全加载非公开目录图片与动态内容类型处理指南  12306售票时间最新规定 | 网上订票和车站窗口时间一样吗  Microsoft Edge网页字体太淡看不清怎么办_Microsoft Edge字体渲染优化技巧  重返未来:1999卡戎全方位攻略  三星M34录音变声问题_Samsung M34麦克风调整  vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足  使用Python和GBGB API高效抓取指定日期范围和赛道比赛结果教程  邮政快递寄件查询入口 邮政快递收件查询入口  《友玩*》创建群聊方法  谷歌浏览器官网地址整理_谷歌浏览器新版直连2026稳定访问  《百果园》充值余额方法  哔哩哔哩黑名单怎么查看  WPS长文档分栏排版不乱方法_WPS分栏+分节符报纸排版教程  《长生:天机降世》火塔小怪大全  C++ bind函数使用教程_C++参数绑定与函数适配器的应用  CSS过渡与滚动滚动事件结合应用_scroll与transition动画  魔法祈幻界兑换码礼包大全  C++怎么实现一个红黑树_C++高级数据结构与平衡二叉搜索树  C#解析并修改XML后保存 如何确保格式与编码的正确性  苹果手机缓存怎么清除_苹果手机缓存如何清除iphone各版本操作步骤  sublime怎么在文件中显示代码结构大纲_sublime符号列表功能  晓晓优选app支付宝绑定方法  TikTok搜索结果不显示怎么办 TikTok搜索刷新与优化方法  《杖剑传说》食谱大全  嘀嗒顺风车如何开具电子发票  抖音如何进行蓝V认证 抖音企业号申请所需资料与流程  如何测试您的网站全球打开速度-网站海外测速工  React应用中Commerce.js数据加载与状态管理最佳实践  Go语言反射机制:如何访问被嵌入结构体遮蔽的方法  PPT页面尺寸怎么修改 PPT自定义幻灯片大小与方向设置【教程】  windows10怎么关闭自动安装应用_windows10禁止推广应用下载  鲁班大师乓乓皮肤获取方法  TikTok视频播放不流畅怎么办 TikTok视频播放优化方法  TikTok视频播放中断怎么办 TikTok播放异常修复方法  使用Google服务账号实现Google Drive API无缝集成与文件访问  LINUX怎么查看显卡信息_LINUX查看GPU状态  OPPO A3 WiFi频繁断开怎么办 OPPO A3网络优化技巧  Yandex世界探索 最新官方免登录入口全知道  sublime text 4如何安装_最新版sublime下载与汉化教程  阿里旺旺电脑网页版入口 阿里旺旺电脑版网页登录入口  Composer如何使用composer-plugin-api开发自定义插件  J*aScript二进制处理_ArrayBuffer与Blob  C++怎么解决数值计算中的精度问题_C++浮点数误差与数值稳定性分析 

 2023-05-28

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.