1

我是新手,我试图在问题中找到我的答案,但我没有找到更接近的东西。

我有一个网站显示来自 6 个不同数据库的数据。这是我用来连接数据库的代码:

<?php 
$con=mysqli_connect("server","user","password","database");
$result = mysqli_query($con,"SELECT count(*) as new_orders FROM orders where print=0");
while($row = mysqli_fetch_array($result)){
echo $row['new_orders'];
}
mysql_close($con);
?>

我使用了这段代码,并且只更改了所有 6 个数据库的连接凭据,因为它们具有相同的表。问题是我必须在同一个 php 页面中使用 6 个连接,但是每次我打开文件 dashboard.php 时,它都会显示我需要从 6 个数据库中获取的所有信息,但加载页面大约需要 30 秒。

如您所见,我的查询非常简单,只需计算订单即可!...我正在研究,我发现我可能需要索引,我为数据库中的表创建索引但没有任何改变。

你能帮我解决这个问题吗?关于问题可能是什么的任何想法。这个页面就像我网站的第一页,所以它总是被访问,人们必须等待 30 秒才能看到该页面。

感谢您为我提供的帮助

问候,

奥斯卡·拉宾斯

4

3 回答 3

0

连接到多个数据库总是很慢。有什么理由需要它们在单独的数据库中。

这可能会更容易,特别是如果没有大量数据来简单地添加一个额外的表来识别字段 id 和 name

例如

1 = 数据库 1 等

然后在表格上检查信息以添加另一个字段,例如数据库。然后对于每个

SELECT * FROM your_table WHERE database = '1';

于 2013-12-22T12:00:46.570 回答
0

你知道你可以通过使用 gzip 或类似的东西来提高你的网站性能吗?
我还建议对 MySQL 服务器连接使用单个类。它使您的代码更具可读性。
您使用了哪些索引?
还可以尝试在一台服务器上仅使用一个或两个数据库,而不是数据库。

于 2013-06-15T16:01:43.940 回答
0

“这个页面就像我网站的第一页,所以它总是被访问,人们必须等待大约 30 秒才能看到该页面。”

您可以使用 AJAX 异步加载数据。这至少可以防止人们在加载之前关闭您的页面。

于 2015-02-18T13:41:37.520 回答