Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在大型数据库上创建新闻提要系统的最佳方法_Php_Mysql_Sql - Fatal编程技术网

Php 在大型数据库上创建新闻提要系统的最佳方法

Php 在大型数据库上创建新闻提要系统的最佳方法,php,mysql,sql,Php,Mysql,Sql,我正在尝试为我的网站创建一个新闻提要系统。我创建了一个newsfeed表,其中存储了用户的每个操作。另一个名为favorites的表包含用户和用户的收藏夹id。 问题是,在我的站点中,有3000多个注册用户,收藏夹表中有9000多行 我正在使用这种方法,但这种方法似乎会减慢网站的速度,有时网站会耗尽内存。那么你建议用什么方法呢。我不需要你们帮我写代码,只要告诉我应该使用的最佳方法 $get_newsfeed_query = "SELECT * FROM newsfeed WHERE user_d

我正在尝试为我的网站创建一个新闻提要系统。我创建了一个newsfeed表,其中存储了用户的每个操作。另一个名为favorites的表包含用户和用户的收藏夹id。 问题是,在我的站点中,有3000多个注册用户,收藏夹表中有9000多行

我正在使用这种方法,但这种方法似乎会减慢网站的速度,有时网站会耗尽内存。那么你建议用什么方法呢。我不需要你们帮我写代码,只要告诉我应该使用的最佳方法

$get_newsfeed_query = "SELECT * FROM newsfeed WHERE user_did IN (SELECT users_favorite FROM    favorites WHERE user='{$id}') AND NOT user_did='{$id}' AND NOT user_got='{$id}' ORDER BY id DESC LIMIT 0,20";
$get_newsfeed = mysql_query($get_newsfeed_query, $connection);

你是不是试着加入来看看速度?我知道join是每个表的多行,但您使用分组还是区分可能更好。请解释一下您的查询收集了什么?另外,您是否可以发布CREATETABLE语句,以便我们更好地了解您的结构。查询是从我添加到收藏夹列表的用户的新闻提要中收集每行的每个数据(操作)