位置: 编程技术 - 正文

MySQL单表百万数据记录分页性能优化技巧(mysql单表10亿)

编辑:rootadmin

推荐整理分享MySQL单表百万数据记录分页性能优化技巧(mysql单表10亿),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql单表2000万,mysql百万数据查询,mysql 百万数据,mysql单表2000万,mysql单表10亿,mysql 单表千万数据,mysql 百万数据,mysql单表2000万,内容如对您有帮助,希望把文章链接给更多的朋友!

测试环境:

先让我们熟悉下基本的sql语句,来查看下我们将要测试表的基本信息

查询结果:

从上图中我们可以看到表的基本信息:

表行数:平均每行的数据长度:字节单表大小:字节

关于行和表大小的单位都是字节,我们经过计算可以知道平均行长度:大约5k单表总大小:4.1g表中字段各种类型都有varchar、datetime、text等,id字段为主键

测试实验

1. 直接用limit start, count分页语句, 也是我程序中用的方法:

select * from product limit start, count当起始页较小时,查询没有性能问题,我们分别看下从, , , 开始分页的执行时间(每页取条), 如下:

我们已经看出随着起始记录的增加,时间也随着增大, 这说明分页语句limit跟起始页码是有很大关系的,那么我们把起始记录改为w看下(也就是记录的一般左右) select * from product limit , 3.秒

MySQL单表百万数据记录分页性能优化技巧(mysql单表10亿)

再看我们取最后一页记录的时间select * from product limit , .秒

难怪搜索引擎抓取我们页面的时候经常会报超时,像这种分页最大的页码页显然这种时间是无法忍受的。

从中我们也能总结出两件事情:1)limit语句的查询时间与起始记录的位置成正比2)mysql的limit语句是很方便,但是对记录很多的表并不适合直接使用。

2. 对limit分页问题的性能优化方法

利用表的覆盖索引来加速分页查询我们都知道,利用了索引查询的语句中如果只包含了那个索引列(覆盖索引),那么这种情况会查询很快。

因为利用索引查找有优化算法,且数据就在查询索引上面,不用再去找相关的数据地址了,这样节省了很多时间。另外Mysql中也有相关的索引缓存,在并发高的时候利用缓存就效果更好了。

在我们的例子中,我们知道id字段是主键,自然就包含了默认的主键索引。现在让我们看看利用覆盖索引的查询效果如何:

这次我们之间查询最后一页的数据(利用覆盖索引,只包含id列),如下:select id from product limit , 0.2秒相对于查询了所有列的.秒,提升了大概多倍的速度

那么如果我们也要查询所有列,有两种方法,一种是id>=的形式,另一种就是利用join,看下实际情况:

SELECT * FROM product WHERE ID > =(select id from product limit , 1) limit 查询时间为0.2秒,简直是一个质的飞跃啊,哈哈

另一种写法SELECT * FROM product a JOIN (select id from product limit , ) b ON a.ID = b.id查询时间也很短,赞!

其实两者用的都是一个原理嘛,所以效果也差不多

Linux下mysql 5.6. 安装图文教程 本文实例为大家分享了mysql5.6.安装教程简单版,供大家参考,具体内容如下1.linux版mysql下载(建议不要下5.7,安装的时候各种bug啊,5.6是最好)到mysql

Linux下mysql 5.6.安装图文教程详细版 linux安装mysql服务分两种安装方法:①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错;

Centos 6.5 下安装mysql 5.6.的方法 创建需要下载rpm包软件包的目录:#mkdir-p/taokey/tools/查看系统是否自带了mysql包若有删除#rpm-qa|grepmysqlmysql-libs-5.1.-1.el6.x_mysql-server-5.1.-1el6.x_#yumremo

标签: mysql单表10亿

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

上一篇:Advanced Pagination for MySQL(mysql高级分页)

下一篇:Linux下mysql 5.6.17 安装图文教程

  • m级纳税人如何变成b级
  • 小规模纳税人减按1%如何填报申报表
  • 餐厅打包盒算不算商品
  • 以前年度损益对应的科目
  • 销售货物应税劳务服务清单给客户一份是不是就可以了
  • 公司银行未开户税务也没开需要做工商年报吗
  • 银行网银服务费做什么科目
  • 购土地契税怎么算
  • 企业购买的雇主责任险
  • 一般纳税人临时工工资怎么入账
  • 销售产品产生的运杂费分录
  • 一次性预收租金增值税
  • 领用自产应税消费品负担的消费税计入在建工程成本吗
  • 公司借股东钱支付的利息如何做账?
  • 存货可变现净值与成本孰低 考虑销量吗
  • 金融工具包括哪些及其法律特征
  • 采购合同可以包含安装吗
  • 贷款利息增值税发票
  • 如何查询进项发票是否作废
  • 国税发200931号文解读
  • 房地产开发公司取名
  • 物流公司转包出售合法吗
  • 投资性房地产公允价值模式账务处理
  • 金蝶旗舰版反过账的操作步骤
  • 未缴少缴税款追征期
  • 工效挂钩企业工资税前扣除有何规定?
  • 电子承兑转让怎么撤销
  • 原材料座椅报废怎么处理
  • 收到销项负数发票怎么抵扣
  • 如何增强无线网卡的接收能力
  • 高速过路费抵扣进项怎么填报
  • 医药批发行业增值税税负率
  • 其他应收款注销数额太大
  • 债转股是好还是坏
  • windows11怎么添加打印机驱动
  • Win10 21H2 Build 21354 ISO 太阳谷官方镜像预览版下载
  • mac电脑修改dns
  • PHP:iconv_mime_decode_headers()的用法_iconv函数
  • 汇总开具的运输发票
  • php绘制图片
  • 《visual c++游戏编程基础》
  • mongodb迁移
  • 为什么费用报销先由主管部门审批在由财务审核
  • 其他应收款的审定表怎么填
  • 购入不动产的税率是多少
  • 含税含运费价格,运费谁出
  • 购买的手机可以退货吗
  • 成本票可以用在下个季度吗
  • 短期借款利息是期间费用吗
  • 研发费用明细科目怎么填
  • 私车公用发票去哪个税务局开
  • 将自产的产品用于非应税项目
  • 小规模纳税人开专票税率是多少?
  • 小规模纳税人购买税控设备
  • 房地产企业账务处理所用科目
  • 政府会计工资代扣工会会费
  • 销售给回扣的话术
  • 固定资产报废怎么开票
  • 债券溢价摊销有什么影响
  • 发票已付款,可以开红字吗
  • 账务处理有哪几种
  • 无需缴纳的税费是什么
  • 建筑公司直接把钱打到个人账户怎么走账
  • 如何填写记账凭证视频
  • win7电脑一键关机快捷键
  • ubuntu怎么样
  • 显示隐藏文件也看不到
  • mac系统快速入门
  • win1020h2版本怎么更新
  • windows8.1u盘安装教程
  • centos搭建服务器
  • 防止暴力破解的方法
  • pythonreduce函数的作用
  • javascript教程完整版
  • c语言node定义
  • javascript cookbook
  • 百旺税控密码忘记了怎么找回
  • 12333热线时间
  • 安徽高考实行什么模式
  • 辽宁网上税务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设