MySQL中分页限制的使用方法

MySQL中分页限制的使用方法
今天,水朋友说他的MySQL变得非常慢了。问是什么情况。说一个超过2克的MyISAM单表。真正的垃圾是回答的方式。

简单的答案是:改变一个强大的服务器,改变服务器非常有用:



最后,让慢查询成为可能:

SELECT * FROM pw_gbook哪里UID = 'n'order过期DESC LIMIT的N,N;

SELECT * FROM pw_gbook哪里UID = 'n'order过期DESC LIMIT的N,N;
如:

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 1275480,20;

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 1275480,20;
看到这句话,我吐血了。(BT的phpwind分页,这句话是用PHP初学者正常但phpwind的成熟社区有这样一个问题。)

让我简单地谈一下极限的原理,这里是基于极限n,m限制首先是寻找n m m行,然后从n行取m行,这样一个SQL对于一个查询1275500的操作应该是一个昂贵的代价。

我们怎么能让这个n尽可能小。我们所能做的就是用相对值和示意分页。现在我们看第五页,看第六页和第六页的阅读后,也显示20条记录,我们可以认为这个例子:我们可以肯定的是,第六页的日值应小于第五页。如果第五页的最小值是2009-11-4,然后我们可以使用:

SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 20<'2009-11-1订单;

SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 20<'2009-11-1订单;
这样,查询第六页的内容,查看第四页的内容(假设第五页的最大日期所),第四页的内容:

SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 20 > '2009-11-3订单;
SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 20 > '2009-11-3订单;

这是一个基本概念,然后讨论如何显示问题。

此项业务的SQL实现的是什么:分页显示可用于多用途型。以下是常用的三种类型:

首先:显示该类型的最后一页的下一页。

这种方法相对简单,我们可以看到SQL不思考的方式:

第一页 uff1a

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 20;

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 20;
第二页:根据第一页的日期查询等:

SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 20<'2009-11-3订单;
SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 20<'2009-11-3订单;

为什么这么简单,这没有跳转页面的问题,然后出现了页面跳转问题。

第二种:显示1,2,3,4,5…

第1页:仍在第一页的路上:

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 20;

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 20;
第二页:和原来一样。如果你跳过的页面,例如,从第二页跳到第五页,这是第二页的最小日期:所(假设值可以由二页程序查询),第第五,2页,20页,每一页,即可使用:

SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 40, 20<'2009-11-3订单;
SELECT * FROM pw_gbook哪里UID = '48'and过期的过期DESC LIMIT 40, 20<'2009-11-3订单;

在这里了解为什么大型网站的分页不是一个标记,让所有人都能指出它。它不会给你一个框让你进入一个页面跳过。如果有太多的跳转页面,会有一个问题,太多的N值。所以没有办法做到这一点。

第三种:显示器1, 2, 3、4, 5、…。或主页,页>

这里有一个特别的地方:

其他网页上的跳跃的顶部。在这里我们添加一个页面,这里分为两种,如果最后一页是多少页,又一页的日期之前知道最低(页面提示值),所以你可以使用上面的方法来检查的最后一页(有小于20,另一个现象)我不知道,最后是第几页,我只是想看看到底是什么,那么你可以使用(:20):

SELECT * FROM pw_gbook哪里UID = '48'order ASC的过期限20;

SELECT * FROM pw_gbook哪里UID = '48'order ASC的过期限20;
首页不在这里说话。
如何实现具体的实现,可以对php代码进行修改,稍加修改会带来意想不到的效果。
这只是一个普通的分页过程。不同的企业可能有不同的处理方法。如果你能在条件和情况下使用它:…带宽代替限制分页操作。

第三方法:

简单逻辑转换。

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 1275480,20;

SELECT * FROM pw_gbook哪里UID = '48'order的过期DESC LIMIT 1275480,20;
转换成:

SELECT * FROM pw_gbook其中ID > 1275480和UID = '48'order的过期DESC LIMIT 20;

SELECT * FROM pw_gbook其中ID > 1275480和UID = '48'order的过期DESC LIMIT 20;

tag:分页使用方法电脑软件mysql

相关内容