位置: 编程技术 - 正文
推荐整理分享MySQL中字符串索引对update的影响分析(mysql字符串索引如何排序),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql字符串索引原理,mysql sum字符串,mysql字符串索引与数字索引,mysql字符串包含查询,mysql字符串索引,mysql字符串索引,mysql 字符串,mysql中字符串索引是按什么规律排序的,内容如对您有帮助,希望把文章链接给更多的朋友!
本文分析了MySQL中字符串索引对update的影响。分享给大家供大家参考,具体如下:
对某一个类型为varchar的字段添加前缀索引后,基于该子段的条件查询时间基本大幅下降;但对于update操作,所耗的时间却急剧上升,主要原因是在更新数据的同时,mysql会执行索引的更新。
下面做了一个简单的试验。
(1)首先对某个亿级记录的表字段所有记录执行更新:
统计用时4个小时左右。
(2)然后对某个亿级记录的表子段添加索引:
然后再执行同上的update语句,统计用时将近9个小时。
(3)由此可见字符串索引对于update等操作在性能上有极大的影响。
虽然以上小试验并没有多大实际意义,但是可以延伸一下,如果不对该字段添加索引,而是直接把该字段数据存储到另一个小表b,然后在该表添加一个id字段映射到小表b,然后再执行update操作;这样性能又如何呢?
理论上性能应该与记录的重复度有关,如果重复率高,小表b将会很小(unique去重);而更新所用时间为通过原表映射查询表b字段的时间+更新表b记录的时间,总体上应该比更新记录的时间+更新索引的时间要少。
不过只是估算,结果如何感兴趣的朋友可以动手验证一下。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。
MySQL的root密码忘记怎么办 修改root密码的方式 如果哪天你忘记了线上MySQL数据库的root密码,怎么办大家往往会想到skip-grant-tables参数,具体步骤如下:1.关闭MySQL数据库,因为root密码忘记了,mysqladmin
快速实现MySQL的部署以及一机多实例部署 MySQL有三个版本:二进制,源码包,RPM。下面讲讲二进制包的安装过程下载地址:
MySQL分页优化 最近,帮同事重写了一个MySQLSQL语句,该SQL语句涉及两张表,其中一张表是字典表(需返回一个字段),另一张表是业务表(本身就有个字段,需全部
标签: mysql字符串索引如何排序
本文链接地址:https://www.jiuchutong.com/biancheng/321301.html 转载请保留说明!友情链接: 武汉网站建设