位置: 编程技术 - 正文

详解mysql中的冗余和重复索引(mysql冗余字段)

编辑:rootadmin

推荐整理分享详解mysql中的冗余和重复索引(mysql冗余字段),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:数据库中的冗余度是什么意思,mysql删除冗余数据,mysql删除冗余数据,数据库中的冗余度,mysql 冗余,数据库中冗余的概念,mysql数据冗余,mysql数据冗余,内容如对您有帮助,希望把文章链接给更多的朋友!

mysql允许在相同列上创建多个索引,无论是有意还是无意,mysql需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能。

  重复索引是指的在相同的列上按照相同的顺序创建的相同类型的索引,应该避免这样创建重复索引,发现以后也应该立即删除。但,在相同的列上创建不同类型的索引来满足不同的查询需求是可以的。

这段SQL创建了3个重复索引。通常并没有理由这么做。

  冗余索引和重复索引有一些不同,如果创建了索引(a,b),再创建索引(a)就是冗余索引,因为这只是前面一个索引的前缀索引,因此(a,b)也可以当作(a)来使用,但是(b,a)就不是冗余索引,索引(b)也不是,因为b不是索引(a,b)的最左前缀列,另外,其他不同类型的索引在相同列上创建(如哈希索引和全文索引)不会是B-Tree索引的冗余索引,而无论覆盖的索引列是什么。

  冗余索引通常发生再为表添加新索引的时候。例如,有人可能会增加一个新的索引(A,B)而不是扩展以后的索引(A)。还有一种情况是将一个索引扩展为(A,ID),其中ID是主键,对于InnoDB来说主键已经包含在二级索引中了,所以这也是冗余的。

  大多数情况下都不需要冗余索引,应该尽量扩展已有的索引而不是创建新索引,但也有时候处于性能方面的考虑需要冗余索引,因为扩展已有的索引会导致其变得太大,从而影响其他使用该索引的查询性能。如:如果在整数列上有一个索引,现在需要额外增加一个很长的varchar列来扩展该索引,那么性可能会急剧下降,特别是有查询把这个索引当作覆盖索引,或者这是myisam表并且有很多范围查询的时候(由于myisam的前缀压缩)

详解mysql中的冗余和重复索引(mysql冗余字段)

  比如,有一张userinfo表。这个表有条数据,对每个state_id值大概有条记录。在state_id有一个索引,那么下面的SQL我们称之为Q1

改查询的执行速度大概是每秒次(QPS)

  还有一个SQL,我们称之为Q2

这个查询的QPS是,提升该索引性能最简单的办法就是狂战索引为(state_id,city,address),让索引能覆盖查询:

注:state_id已经有索引了,根据前面的概念,这是一个冗余索引而不是重复索引)

怎么找出冗余索引和重复索引呢?

1.可以使用Shlomi Noach的common_schema中的一些试图来定位,common_schema是一系列可以安装到服务器上的常用的存储和试图。

2.可以使用Percona Toolkit中的pt_duplicate-key-checker,该工具通过分析表结构来找出冗余和重复的索引。

总结

标签: mysql冗余字段

本文链接地址:https://www.jiuchutong.com/biancheng/348297.html 转载请保留说明!

上一篇:MySQL语句加锁的实现分析(mysql 加锁处理分析)

下一篇:Mysql中explain作用详解

  • 预收账款确认收入
  • 一次性扣除固定资产政策案例
  • 法人资格证书是营业执照吗
  • 房产税计税依据
  • 土地增值税预缴政策
  • 出租设备应计入什么科目
  • 公司贷款买车是公司还款吗
  • 公司前期没有收入开支怎么记账
  • 施工费可以开13个点吗
  • 金税盘的年费怎么做抵扣帐
  • 利息发票能开专票吗
  • 共同投资项目工程款怎么开票?
  • 成本法核算长期股权投资初始投资成本
  • 旅游业企业所得税要求
  • 兼营销售的销售额的确定
  • 个人所得税的征收
  • flash动画导出视频有水印吗
  • 跨月的红字发票
  • win10打开游戏老是提示
  • 旧macbookpro
  • 发放股票股利会增加流通在外股票的数量
  • linux中添加用户和组的操作
  • 财务费用属不属于生产成本
  • 差额征收增值税 取得的进项可否抵扣
  • 往来账要交税吗
  • 乌鲁米耶湖春季湖水更深
  • 银行询证函费用减免
  • javaweb知识点汇总
  • mysql刷新数据
  • 网上蛋糕商城jsp页面
  • 土增税清算时怎么做会计分录
  • js 数组去重的四种方法
  • php读取excel数据
  • python字符串如何提取单词
  • 库存商品的盘盈盘亏
  • 利息收入的会计科目怎么做
  • 留抵税额可以保留几年
  • php判断ua
  • 帝国cms视频教程
  • jsp连接数据库的步骤
  • mongodb的redo日志为
  • python send_from_directory
  • 网吧相关规定
  • 购买的金税盘可以抵扣吗
  • 无形资产租金计入什么科目
  • 所得税会计核算要点及程序有哪些
  • 装修公司财务报表图片
  • 捆绑销售的会计处理?
  • 委托加工环节应税消费品应纳税额的计算
  • 被投资单位信息是什么
  • 专项应付款支出的账务处理
  • 企业所得税审计调整分录
  • 融资租赁财产保全金额是多少
  • 押金为什么要一个月才退
  • 医院收到卫生局拨款会计分录
  • 销售商品未开票
  • 息税前利润变动百分比计算公式
  • phpmyadmin配置文件
  • 注册表mime
  • 系统的虚拟内存可以清理吗
  • windows7窗口拖到屏幕顶端
  • mac u 盘启动
  • win7系统重装后u盘读不出来
  • win7升win8要钱吗
  • linux限制用户cpu使用
  • 如何配置sendmail
  • backtracker
  • jasonToObject
  • Unity3D游戏开发引擎
  • 怎么用unity做游戏
  • jquery 插件写法
  • div遮罩层整个页面
  • 消耗cpu的软件
  • python求解析解
  • jQuery EasyUI中DataGird动态生成列的方法
  • 关于python中的判断条件
  • jquery下拉列表
  • 如何理解javascript
  • python 异常处理方法
  • 重点税源企业税收分析报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设