【问题标题】:mysqli select query is taking long time in phpmysqli 选择查询在 php 中需要很长时间
【发布时间】:2013-04-14 12:45:31
【问题描述】:

我的数据库表中有 13,000 条记录。当我在 php 页面中提出查询 SELECT * FORM table_name 并循环遍历结果时,它需要将近 20 秒。我正在使用 mysqli 访问数据库。可能是什么问题。我怎样才能提高性能。

如果不循环遍历表格,我可以在二维数组中获取整个表格吗?

【问题讨论】:

  • 20秒后,结果是否正确显示?
  • 如果您只是在 phpMyAdmin 或您使用的任何 mysql 客户端中运行查询需要多长时间?
  • 让我们看看show create table $table 以及您正在运行的查询。
  • 您是否要在网页中显示所有 13,000 行?如果它在 HTML 表格中,浏览器将需要很长时间才能呈现它。
  • 您的查询在 mysql 命令行/*phpmyadmin* 中运行得更快吗?

标签: php mysqli


【解决方案1】:

您是否尝试过为此使用 PDO 而不是 MySQLi? PDO 的fetchAll() 方法在单个数组中返回整个结果集,无需手动循环并创建数组。

$server = '127.0.0.1';
$username = 'username';
$password = 'password';
$database = 'database';

$dbh = new PDO("mysql:dbname=$database;host=$server", $username, $password);
$sth = $dbh->prepare("SELECT * FROM table_name");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
$result_array = $sth->fetchAll();

【讨论】:

    猜你喜欢
    • 2018-12-07
    • 2019-07-27
    • 2016-02-18
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    相关资源
    最近更新 更多