Php mysql数据加载速度慢

Php mysql数据加载速度慢,php,mysql,Php,Mysql,我的问题是我的页面加载非常慢…(2-3秒) 我测试了问题的根源在哪里,我看到的是:$query=mysql\u query 以下是网页: require_once('config/db_config.php'); require_once 'class/PHPTemplate.class.php'; session_start(); //Connect to mysql server $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); if

我的问题是我的页面加载非常慢…(2-3秒) 我测试了问题的根源在哪里,我看到的是:$query=mysql\u query

以下是网页:

require_once('config/db_config.php');
require_once 'class/PHPTemplate.class.php';
session_start();
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
    die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
    die("Unable to select database");
}
$query = mysql_query("SELECT * FROM pages WHERE url_address='Skarabeol'");
$numrows = mysql_num_rows($query);
if($numrows!=0) {
    while ($row = mysql_fetch_assoc($query)) {
        $content=$row['content'];
        $title=$row['title'];
    }
} else {Echo "Page not found!";}
$rows = array(
    array(1.1, 1.2, 1.3),
    array(2.1, 2.2, 2.3),
    array(3.1, 3.2, 3.3),
    array(4.1, 4.2, 4.3)
);
$tpl = new PHPTemplate();
$tpl->add('title', $title);
$tpl->add('content', $content);
$tpl->add('current_year', date('Y'));
//$tpl->add('rows', $rows);
//$tpl->add('rows_count', count($rows));
$tpl->load('footer', 'tpl/footer.tpl');
$tpl->display('tpl/page.tpl');
?>
它将加载一个模板文件(我在没有mysql连接的情况下进行了测试,效果很好)

这是配置文件,以防你想看到它

  define('DB_HOST', 'localhost');
  define('DB_USER', 'xxxxxxx');
  define('DB_PASSWORD', 'xxxxxxxxxx');
  define('DB_DATABASE', 'xxxxxxxxx');
我做错了什么


如果你还需要我给你看什么,请告诉我……提前谢谢

尝试使用评测查看SQL统计信息

mysql> set profiling=1;
Query OK, 0 rows affected (0.00 sec)

mysql> select sql_no_cache * from tblwebentry where webID = 433382;
+--------+-----------------------------+-----------------------------------------------------+------------+--------------------+---------------+-------------+---------+-------------+---------------+----------------+---------+
| webID  | webEntryName                | webAddress                                          | webMessage | webStdCodeSearchID | webPriorityID | webRadiusID | webLogo | webLatitude | webLongtitude | webShowAddress | websort |
+--------+-----------------------------+-----------------------------------------------------+------------+--------------------+---------------+-------------+---------+-------------+---------------+----------------+---------+
| 433382 | Allen House Business Centre | Allen House, The Maltings, Sawbridgeworth, CM21 9JX |            |                100 |             1 |           1 |         |   51.812466 |      0.159480 | 1              |       1 |
+--------+-----------------------------+-----------------------------------------------------+------------+--------------------+---------------+-------------+---------+-------------+---------------+----------------+---------+
1 row in set (0.00 sec)

mysql> show profile;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| starting           | 0.000029 |
| Opening tables     | 0.000010 |
| System lock        | 0.000002 |
| Table lock         | 0.000005 |
| init               | 0.000018 |
| optimizing         | 0.000006 |
| statistics         | 0.000030 |
| preparing          | 0.000007 |
| executing          | 0.000002 |
| Sending data       | 0.000041 |
| end                | 0.000003 |
| end                | 0.000002 |
| query end          | 0.000002 |
| freeing items      | 0.000005 |
| closing tables     | 0.000003 |
| logging slow query | 0.000001 |
| cleaning up        | 0.000003 |
+--------------------+----------+
17 rows in set (0.00 sec)
还可以尝试:

mysql> EXPLAIN SELECT wciid, wcIname FROM tblwebclassification WHERE wciname = 'plumbers';
+----+-------------+----------------------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table                | type | possible_keys | key  | key_len | ref  | rows | Extra       |
+----+-------------+----------------------+------+---------------+------+---------+------+------+-------------+
|  1 | SIMPLE      | tblwebclassification | ALL  | wcIName       | NULL | NULL    | NULL | 1702 | Using where |
+----+-------------+----------------------+------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)

你有
url\u address
上的索引吗?另外,
SELECT*
比列出所有列名要慢。你的pages表中有多少数据?这个数据库服务器位于哪里?(mysql_uu函数)扩展为。我建议使用(mysqli*uu函数)或相反。如果表中有更多记录,则可以通过提供限制偏移量(如
limit 0,10
)以及指定所需字段来限制select查询,而不是在select子句中指定
*