问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql之字符串字段添加索引

发布网友 发布时间:2022-09-16 08:14

我来回答

2个回答

懂视网 时间:2023-02-14 20:13

mysql怎样添加索引呢?下面就让我们一起来了解一下吧:

1、首先需要先创建一个表,然后再添加一些数据,可以写个存储过程去写入数据。

2、再写入数据之后可以查询一下数据看需要多长时间。

3、接着可以查看表中的数据。

4、索引一般会分为三种,即普通索引、唯一索引、全文索引,要注意自己需要添加什么样的索引。

5、索引方式,Hash 索引仅能够满足“=”,“IN”与“<=>“”查询,一般是不能使用范围查询的,其中B-Tree是比较频繁的索引类型。

6、加上索引值之后就可以再查询一下数据花了多长时间,可以看到比之前有了一些区别,若是数据量比较大的加索引的话,其效果也会更加明显。


以上就是小编的分享了,希望能够帮助到大家。

热心网友 时间:2023-02-14 17:21

字符串创建索引方式:
1、直接创建完整索引,比较占用空间。
2、创建前缀索引,节省空间,但会增加查询扫描次数,并且不能使用覆盖索引。
3、倒序存储,在创建前缀索引,用于绕过字符串本身前缀的却分度不够的问题。
4、创建hash字段索引,查询性能稳定,有额外的存储和计算消耗。

倒序存储和hash字段索引都不支持范围查询。倒序存储的字段上创建的所有是按照倒序字符串的方式排序的。hash字段的方式也只能支持等值查询。

mysql> alter table SUser add index index1(email); :包含了每个记录的整个字符串

mysql> alter table SUser add index index2(email(6)); :-对于每个记录只取前6个字节

全字段索引操作流程
使用的是 index1(即 email 整个字符串的索引结构),执行顺序是这样的:
1、从 index1 索引树找到满足索引值是’ zhangssxyz@xxx.com ’的这条记录,取得 ID2 的值;
2、到主键上查到主键值是 ID2 的行,判断 email 的值是正确的,将这行记录加入结果集;
3、取 index1 索引树上刚刚查到的位置的下一条记录,发现已经不满足 email=' zhangssxyz@xxx.com ’的条件了,循环结束。

前缀字段索引操作流程
如果使用的是 index2(即 email(6) 索引结构),执行顺序是这样的:
1、从 index2 索引树找到满足索引值是’zhangs’的记录,找到的第一个是 ID1;
2、到主键上查到主键值是 ID1 的行,判断出 email 的值不是’ zhangssxyz@xxx.com ’,这行记录丢弃;
3、取 index2 上刚刚查到的位置的下一条记录,发现仍然是’zhangs’,取出 ID2,再到 ID 索引上取整行然后判断,这次值对了,将这行记录加入结果集;
4、重复上一步,直到在 idxe2 上取到的值不是’zhangs’时,循环结束。

倒序查询和hash字段的区别
它们的区别,主要体现在以下三个方面:
1、从占用的额外空间来看,倒序存储方式在主键索引上,不会消耗额外的存储空间,而 hash 字段方法需要增加一个字段。当然,倒序存储方式使用 4 个字节的前缀长度应该是不够的,如果再长一点,这个消耗跟额外这个 hash 字段也差不多抵消了。
2、在 CPU 消耗方面,倒序方式每次写和读的时候,都需要额外调用一次 reverse 函数,而 hash 字段的方式需要额外调用一次 crc32() 函数。如果只从这两个函数的计算复杂度来看的话,reverse 函数额外消耗的 CPU 资源会更小些。
3、从查询效率上看,使用 hash 字段方式的查询性能相对更稳定一些。因为 crc32 算出来的值虽然有冲突的概率,但是概率非常小,可以认为每次查询的平均扫描行数接近 1。而倒序存储方式毕竟还是用的前缀索引的方式,也就是说还是会增加扫描行数。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿歌祖国妈妈我爱你是谁写的汇总28句 为什么有的人学几何很厉害数学却不行 一个人数学几何好,但是其他计算方面的都马马虎虎,那么说明这个人怎么... 数学几何好的人,就是一道几何题很快就能想出来的人是不很聪明?这能练... 固安尚城国际怎么样 驾驶员咨询服务营业执照经营范围怎么写 驾校属于什么经营范围 核桃粉保质期多长时间 亿生康宝筋骨冷敷凝胶只在国内销售吗? 清河镇概况 苹果x133版本建议升级吗? linux redhat9.0 一个IP建多个web站点 有没有像windows 下 IIS 那样主机头名法? 《绝地求生》这款游戏里,哪些设定比较有趣? 人丑就该多读书下一句 家穷人丑多读书,下联是什么 屠夫代表什么动物 屠夫在唐朝是干嘛的 《半熟恋人》王彦霖说磕到真的了包红包开席,这句话反映了圈内的哪些现象? 《我嗑的cp是真的》txt下载在线阅读全文,求百度网盘云资源 中脉美体内衣价目表,文胸腰夹和裤子 格力空调遥控器图标是什么意思? 厂里面有人出现工伤 要罚其他员工5%的工资是不是违法 单位有人出工伤其他员工被罚工资合理吗 企业单位发生工伤死亡事故后。其他职工的工资要扣除一部分是否合规合法? 同事因工受伤报工商其他普通员工被扣工资? 职工与用人单位发生工伤 扣本岗其他职工工资合法吗? 请问全职高手完结了么? 全职高手实体书完结了吗?上次在书店看到12,但不知懂是不是完结本。 中国红十字会是什么时候加入国际红十字运动 支付宝用银行卡付款,一定要是绑定的卡吗? 贷款车可以过户给别人吗 口袋妖怪心金卡比兽怎么配招? 贷款多久不还会上征信,要分情况来看 三年级语文手术台就是阵地神态描写有哪些句子 excel身份证号码后四位都是0怎么处理? 关于爱情承诺的句子 信守承诺的美句 游泳入水的正确姿势 四种不同的游泳技巧 四种不同的游泳技巧介绍 怎么通过qq注册新 怎么通过qq注册新 怎样用qq注册 怎么用QQ号申请新的? 方姓男婴如何起名 凉拌苦瓜(不苦版)怎么做 是别人跟我视频的时候问我手机号码他说绑定个YY号系统发短信来的时候他就叫我把验证码发给他我跟他不是... 有关“参与很重要”的名言? 熟悉的面孔下一句 一面相见熟面孔猜三个数字?