位置: 编程技术 - 正文

Mysql性能优化案例 - 覆盖索引分享(mysql的性能优化方案有哪些)

编辑:rootadmin

推荐整理分享Mysql性能优化案例 - 覆盖索引分享(mysql的性能优化方案有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql性能优化策略,mysql性能优化和高可用架构实践 pdf,mysql5.7性能优化,mysql sql性能优化,mysql语句性能优化,mysql性能优化方案,mysql8性能优化,mysql高性能优化,内容如对您有帮助,希望把文章链接给更多的朋友!

场景

产品中有一张图片表,数据量将近万条,有一条相关的查询语句,由于执行频次较高,想针对此语句进行优化

表结构很简单,主要字段:

一个用户会有多条图片记录

现在有一个根据user_id建立的索引:uid

查询语句也很简单:取得某用户的图片集合

优化前

执行查询语句(为了查看真实执行时间,强制不使用缓存)

执行了次,平均耗时在ms左右

使用explain进行分析

Mysql性能优化案例 - 覆盖索引分享(mysql的性能优化方案有哪些)

使用了user_id的索引,并且是const常数查找,表示性能已经很好了

优化后

因为这个语句太简单,sql本身没有什么优化空间,就考虑了索引

修改索引结构,建立一个(user_id,picname,smallimg)的联合索引:uid_pic

重新执行次,平均耗时降到了ms左右

使用explain进行分析

看到使用的索引变成了刚刚建立的联合索引,并且Extra部分显示使用了'Using Index'

总结

'Using Index'的意思是“覆盖索引”,它是使上面sql性能提升的关键

一个包含查询所需字段的索引称为“覆盖索引”

MySQL只需要通过索引就可以返回查询所需要的数据,而不必在查到索引之后进行回表操作,减少IO,提高了效率

例如上面的sql,查询条件是user_id,可以使用联合索引,要查询的字段是picname smallimg,这两个字段也在联合索引中,这就实现了“覆盖索引”,可以根据这个联合索引一次性完成查询工作,所以提升了性能

简单解决Windows中MySQL的中文乱码与服务启动问题 中文乱码问题当我第一次接触mysql,首先让我难受的是mysql的乱码问题,百度上也有许多有关的解决方案,不过作为亲身受害者,我想很有必要贴出我的

Ubuntu上安装MySQL+问题处理+安全优化 0.说明当然,MySQL的安装方法多种多样,在Ubuntu上,你可以采用apt-get的方式安装,这样的好处是:快速方便。基本上,它会帮你解决所有的函数库依赖问

MySQL中复制数据表中的数据到新表中的操作教程 MySQL是不支持SELECT…INTO语法的,使用INSERTINTO…SELECT替代相同用法,下面我们我们这里简答分一下新表存在和不存在两种情况,具体使用不同的语句。1.新

标签: mysql的性能优化方案有哪些

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

上一篇:Mysql性能优化案例研究-覆盖索引和SQL_NO_CACHE(mysql语句性能优化)

下一篇:简单解决Windows中MySQL的中文乱码与服务启动问题(充电口有烧焦味怎么简单解决)

  • 使用增值税发票的条件
  • 生产经营怎么填写
  • 销售服务增值税税率
  • 运输服务有3%的税率吗
  • 金税盘发票打印不全
  • 小规模纳税人小微企业免税销售额
  • 绿化支出如何做会计处理?
  • 政策性搬迁资产损失情况怎么写
  • 资产评估收益法的前提条件
  • 购买的职业险计入哪个科目
  • 支付给银行的借款利息属于什么会计要素
  • 月初缴纳的保险是当月的吗
  • 个人电话费发票可以入账吗
  • 如何计算企业当年利润
  • 开发票时怎么修改税收分类简称?
  • 收到政府补助怎么发朋友圈
  • 维修材料费主要包括
  • 团建费用是什么意思
  • 事业收入和经营收入的联系
  • 员工生育礼品
  • 社保企业报盘是什么
  • 出口押汇和议付的区别
  • 印花税本月计提本月缴纳
  • 购买树苗计入会计科目吗
  • 没收到电费账单怎么办
  • 电脑qq音乐设置在哪里
  • tersafe.dll
  • 微软window
  • 不征税收入用于支出所形成的费用是什么意思
  • 员工冲借款应该怎么做账
  • 分配股利怎么算
  • 普通增值税发票会计科目怎么写?
  • 关于php中的各种循环说法正确的是
  • 企业发生的利得或损失应计入企业的营业外收支
  • 小程序从入门到精通
  • node实战
  • starting command
  • 什么是银行对账,进行银行对账分为几步
  • 客户的赔偿金会计分录
  • 个人发票抬头怎么弄
  • 公司代扣代缴个人所得税是怎么算的
  • 清算汇缴报表填写范本
  • sql server 2008 r2教程
  • sqlserver怎么清空表数据
  • 一般纳税人税务的比例
  • 银行手续费已扣发票未开的账务处理
  • 短期借款预提利息通过短期借款科目核算
  • 业务招待费如何调整
  • 股东撤资如何退还资金,用途写什么
  • 民间非盈利组织会计制度核算的基础
  • 应收票据背书支付是什么
  • 跨月报销的凭证有哪些
  • 未抵扣进项税额转出会计分录
  • 收到保险理赔款计入什么科目
  • 如何查询一个企业的纳税情况
  • 商品降价如何进行投诉
  • 私人公司盈利怎么把钱拿出来
  • Win10预览版更新弹窗如何关闭
  • 让Windows Server 2008设备驱动安装图文教程
  • WINDOWS SERVER 2008开启桌面主题具体步骤
  • Centos 6.5 x86_64 安装或者设置花生壳ddns的技巧
  • win8删除软件在哪里
  • win7任务栏突然变成灰色
  • win 10预览版
  • Windows设置在哪里
  • Node.js中的construct构造函数
  • js document.cookie
  • eventlistener js
  • bash特殊符号
  • android百分比布局
  • 键盘搜索的快捷键
  • 说一说我下乡插队时的那点事
  • 基于bootstrap的网站
  • python如何运用
  • 建筑行业增值税11%
  • 北京朝阳区地税局地址电话
  • 地税怎么查个人所得税
  • 如何下载电子国税app
  • 国税总局17号公告
  • 地税局的全称是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设