前缀索引使用

前缀索引使用前缀索引使用1.前缀索引索引通常会使用字段的整体用作关键字,但是有些时候,即使使用字段的前段部分数据也是可以去识别某些记录的,而这种方式就是前缀索引,可以更快的去搜索某些数据建立前缀索引的语法:ALTERTABLE表名ADDKEY(字段名(N));N就是要用字段的前几位建立索引。既然我们使用了前缀索引,那么我们肯定就要确认N为多少的时候的辨识度是极限接近最高辨识度的,否则前缀…

大家好,又见面了,我是你们的朋友全栈君。

前缀索引使用

前言:
一定要一个字一个字看,必会

1.前缀索引

索引通常会使用字段的整体用作关键字,但是有些时候,即使使用字段的前段部分数据也是可以去识别某些记录的,而这种方式就是前缀索引,可以更快的去搜索某些数据
建立前缀索引的语法:

ALTER TABLE 表名 ADD KEY(字段名(N));

N就是要用字段的前几位建立索引。
既然我们使用了前缀索引,那么我们肯定就要确认N为多少的时候的辨识度是极限接近最高辨识度的,否则前缀索引的用处将不会被发挥出来。

那么怎么来确认这个N是多少的呢?
先查询出来字段共有多少条数据
首先我们先查询一下字段共有多少条数据:

$arr = select count(字段名) from 表名;

这时候我们会得到一个数据,这个数据是这个字段所有数据的长度,然后我们将这个数据记录下来。
记录下来之后将这个字段内的所有数据进行去重,去重函数为distinct,用我们刚才所取得的所有的数据数量除以我们去重过后得到的数据的数量,这个时候我们得到的就是我们这个字段的最大辨识度(如果不懂继续往下看)

$ayy = select $arr/count(distinct count(字段名)) form 表名;

这时候我们得到的$ayy就是我们这个字段所能得到的最大辨识度,而我们这个N就是要得到一个数,使我们这个数建立的前缀索引能达到无限接近于最大辨识度(ayy),这个 时候我们就可以进行调试。
假如这个字段的长度为10 我们就可以从4开始进行调试,直到我们得到的辨识度无限接近于我们得到的最大辨识度(ayy)。
调试方式:

$aoo = select $arr/count(distinct substring(字段名,1,4)) from 表名

这时候我们得到的¥aoo就是如果我们的N为4时辨识度为多少,如果并不是最接近最大辨识度(ayy)的话,我们就接着调试,将4改成5,6,7······直至我们的辨识度(aoo)达到最接近最大辨识度(ayy)。
当调试至最接近的时候N就为我们建立前缀索引的前几位,这时候我们就可以发挥出前缀索引的最大功能

ALTER TABLE 表名 ADD KEY(字段名(N));

TIP:前缀索引不能用于索引覆盖,因为索引覆盖需要全部的数据,而前缀索引只会缓存数据的前几位

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142476.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue + element 创建

    vue + element 创建vue + element 创建

    2022年4月23日
    75
  • [IPv6工具] 可用dns和ipv4转v6工具

    [IPv6工具] 可用dns和ipv4转v6工具

    2022年3月7日
    52
  • 系统日志管理[通俗易懂]

    系统日志管理[通俗易懂]1、日志的查看日志可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。收集你想要的数据,分析出有价值的信息,可以提高系统、产品的安全性,可以帮助开发完善代码,优化产品。日志会成为在事故发生后查明“发生了什么”的一个很好的“取证”信息来源。日志可以为审计进行审计跟踪。系统用久了偶尔也会出现一

    2022年4月29日
    27
  • Pycharm Debug调试python程序

    Pycharm Debug调试python程序pycharm的Debug调试是非常方便简单的,具体步骤如下:Debug步骤首先运行一下程序,使得调试的程序是你运行的程序。添加断点:直接在标记处点击鼠标左键即可。(删除断点只需再点击断点处即可)Debug下运行代码:如图所示(shift+F9)按照所需调试进行代码调试。Debug的调试方式如下所示:分别为:1.showexecutionpoint…

    2025年7月7日
    1
  • JavaScript 动画_jquery 动画

    JavaScript 动画_jquery 动画JavaScript—动画一、动画原理通过定时器setInterval不断移动盒子位置。步骤:获得盒子当前位置;让盒子在当前位置加上1个移动距离;利用定时器不断重复这个操作;结束定时器。注意:元素需要加定位。例:HTML代码:<!DOCTYPEhtml><html> <head> <metacharset=”utf-8″/> <title></title> </head>

    2022年10月15日
    0
  • tabnine专业版激活码【2021最新】

    (tabnine专业版激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    272

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号