0

我正在为一个表格使用 jQuery 脚本,该表格对数据进行分页和搜索。它按应有的方式工作和发挥作用。

我正在使用包含超过 1,000 条记录的数据填充表,并且我目前正在使用 PHP while 语句来填充它。

table我有这个语句的代码中,首先我执行查询来获取数据,$article = mysql_query("SELECT * FROM articles ORDER BY published DESC");

然后我使用 while 语句来填充 - while($articles = mysql_fetch_array($article)) {

虽然这确实有效,但页面加载时间很差,需要很长时间才能加载。显然,这不是最有效的填充方式。有没有一种“更简单”和有效的方法来做到这一点?

4

3 回答 3

1

您可以将数据类型更改为更小,以便下载更少。

通过选择 * 而不是您需要的特定表格,您可能下载了很多多余的数据。

您还可以使用 LIMIT x 来限制您获得的文章/结果的数量(您可能实际上不需要在页面上显示 1000 条,对吧?...)

除此之外,您无法加快速度,因为加载需要很长时间,因为从数据库下载需要时间,而不是 PHP 脚本的效率。

于 2012-07-11T13:39:05.373 回答
1

您是在一个页面上显示所有 1000 篇文章,还是使用 jQuery 一次翻阅 50 篇文章?

如果你在做后者,你为什么要获得所有 1000 条记录?相反,您可以将 sql 更改为以下内容:

 $startRecord = N // set to some value, initially 0
 $numRecords = 50;

 $query = "SELECT * FROM articles ORDER BY published DESC limit $startRecord, $numRecords";
 $result = mysql_query($query);

这将获得前 50 条记录。修改 $startRecord 变量以从您的数据集中获取其他记录。

于 2012-07-11T13:45:25.090 回答
0

(mysql)OFFSET + (php)PAGINATION + (mysql)OPTIMIZATION (比如索引键...)

于 2012-07-11T13:44:04.170 回答