mysql单表千万分页优化 为什么MySQL在数据库较大的时候分页查询很慢,如何优化?
为什么MySQL在数据库较大的时候分页查询很慢,如何优化?
正如房东所说,分页查询在我们的实际应用中非常常见,也是问题最多的查询场景。例如,对于下面的简单语句,通常的思考方式是在name、age、register中u在time字段上创建一个复合索引。这样,条件排序可以有效地利用索引,性能得到快速提高。
如上例所示,当limit子句变为“limit 100000,50”时,我们会发现,如果只选择了50条语句,为什么会变慢?
,所以我们会觉得很慢。
通常,在分页查询时,可以在上一页中获取数据标志,以缩小查询范围,如时间。我们可以将上一页的最长时间作为查询条件的一部分。SQL可以通过两个步骤进行优化:1]~]。
1. 垂直子表。把桌子分开。根据您的应用场景,例如微信登录和QQ登录,每个应用场景都有一个表。此表中的字段少于原始表中的字段。只需保存此场景中使用的字段。
2. 水平表。在第一部分之后,水平拆分每个子表,。例如,手机号码登录场景的子表可以按照手机号码的最后一位数字划分为10个子表,每个子表有数百万的数据。MySQL的性能几乎可以接受。顺便说一下,别忘了建立索引。。connstr=“****”设置conn=服务器.创建对象(" ADODB.连接") 连接打开connstrconn.CursorLocation=3“Aduseclient=3,默认值为aduseserver(=2)set rs=服务器.createobject(" ADODB.记录集“)sql=”选择…“rs.打开SQL,Conn,1,1“此时,您可以使用RecordCount pagecountrs.pagesize=10页.absolutepage=cint(strpage)选择计数=rs.recordcountselect页面计数=页数
mysql单表千万分页优化 mysql深度分页优化 mysqllimit分页优化
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。