如何使用mysql更好地实现Like / Different System

时间:2014-02-18 00:18:36

标签: php jquery mysql sql wordpress

我正在使用jquery,php和mysql为我的Wordpress Multisite开发一个喜欢/不同的系统。基本上,子站点具有用户可以喜欢的帖子和产品,而不像他们。我的计划是将喜欢的内容存储在一个全局表中,这样我也可以将它用于主站点以显示帖子和喜欢的数量,并为最喜欢的帖子/产品和某种类型设置单独的页面。

在我的mysql表中命名global_likes我有这些列。

like_id | user_id | blog_id | object_id | object_type | date_added

示例数据将是:

like_id | user_id | blog_id | object_id | object_type | date_added

1       | 24      | 81      | 403       | post        | 2014-01-22 05:55:23

2       | 36      | 29      | 108       | product     | 2013-02-26 12:23:10

在我的jquery中,我使用它作为部分:

jQuery.ajax({
    url: '/wp-content/plugins/plugname/like.php',
    type: 'POST',
    data: {
        object_id: object_id,
        user_id: user_id,
        type: 'like',
        blog_id: blog_id,
        object_type: object_type,
        count: default_count
    },
    dataType: 'json',
    success: function(data) {
        var new_count = parseInt(default_count) + 1;
        jQuery('#like_click_' + object_id).attr('data-like-count', new_count);              
        jQuery('#like_click_' + object_id).attr('id', '#unlike_click_' + object_id);
        isProcessing = false;
    }
});

在我的服务器端PHP中,我使用它作为在某种验证后插入数据的部分:

$wpdb->insert( 
$global_likes, 
array( 
    'user_id' => $user_id, 
    'blog_id' => $blog_id, 
    'object_id' => $object_id, 
    'object_type' => $object_type,
    'date_added' => $date_added
)
);

多数民众赞成。现在,问题是,由于不同用户在不同博客的不同帖子/产品上插入喜欢的内容,因此预计会有很多行。就像那样数千或数百万。

这是一种矫枉过正吗?或者可能导致重负荷,因为我目前使用512mb应用程序RAM。我非常关心性能和CPU使用率。考虑到来自不同博客的每个帖子/产品同时获得喜欢,它也显示在主站点上,其显示来自博客的所有帖子以及喜欢的数量。此外,用户也可以喜欢/不同于主站点的帖子。

示例是: 在特定博客或主站点上显示帖子或产品时,

  • 正在查询并显示喜欢的数量。
  • 检查user_id,检查用户是否喜欢该帖子 在全球桌上。
  • 用户可以不喜欢/喜欢帖子或产品。

在主站点上也在用户个人资料页面中。

  • 正在查询全局赞照表以检查用户喜欢的项目并显示。
  • 来自整个网络的受欢迎项目数。

我是否使用正确且更好的方式来实现此OR或者有更好的方法。我只知道php,jquery和mysql。如果您正在考虑像nosql或类似的那样,它可能对我没有帮助,因为我使用wordpress而我根本不知道如何使用它。

0 个答案:

没有答案