1

好吧,我已经构建了一组运行的表,这些表旨在以更少的连接运行,但我想保留我的规范化数据库。当我的网站流量很大时,有没有办法在它们之间切换?

4

4 回答 4

1

如果是为了简化您的查询,您可能想要创建一个视图,该视图反过来可以捆绑一些连接。

于 2011-10-24T09:14:03.980 回答
1

创建一个全局,每次访问页面时都会递增,并重置为 0,每次递增每分钟递增 1,称为“ pages_accessed_per_minute”。

创建一个带有两个参数的函数,一个是上面提到的全局参数,另一个是油门的限制:throttleOn('pages_accessed_per_minute', '1000').

如果每分钟访问的页面数增加到超过某个点(在本例中为 1000 个),则换入使用其他数据库的备用 php 脚本。

if throttleOn('pages_accessed_per_minute', '1000') == true){
  include_once('dbAccess1.php');
}
else{
  include_once('dbAccess2.php');
}

不过,我不能 100% 确定我正确使用了 include_once。

我还发现大多数服务器都有一个日志符号链接到共享主机上的用户主目录。可以使用$tail -f(命令行)实时监控这些日志。这比轮询要好,因为服务器可能会变得很忙,而且当这种情况发生时最好依赖钩子。

于 2011-10-24T08:06:54.570 回答
0

您可以“在生产中”执行此操作,但请记住,这可能会很快变得至关重要!

  • 通过添加您需要的其他列来更改您的表格。
  • 填充新列(使用脚本,以便您可以控制每次触摸多少行,以确保您不会产生太多负载)
  • 使用新结构更改您的(网站)脚本。最好的方法是同时更新所有脚本。
  • 重新运行您的“填充脚本”以确保所有行都真正采用新格式
  • 删除不必要的列/表
于 2011-10-24T06:34:03.773 回答
0

问:有什么办法可以在它们之间切换吗?答:当然——只需重定向到不同的 PHP 页面,该页面对不同的表集进行不同的查询。

... 然而 ...

问:您将如何使表格保持同步?

问:有什么机制可以提醒您“您的网站有大量流量”?

于 2011-10-24T06:35:57.260 回答