青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 三个Windows Media Player音乐插件鲜果文章推荐的DIGG功能 »

WordPress MU优化表的脚本

  WordPress MU由于每建立一个新的用户都会自动建立十多张表,因此当注册大量用户的时候会建立非常多的表,引起系统的性能出现问题,我这里写了一段脚本,可以将WordPress MU中的不活动用户(从没有发布文章的用户)进行删除,以节约系统资源。PHP脚本源代码如下:

<?php

    $mysql_host  = "localhost";
    $mysql_user  = "root";
    $mysql_pass  = "";
    $mysql_db  = "wordpress";

    $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass)
    or die ("Cannot make the connection");
    mysql_select_db($mysql_db, $mysql_mylink)
    or die ("Cannot connect to the database");

    $strsql="select * from wp_blogs where blog_id>2  ";

    $rs_query = mysql_query($strsql);
    $alls=mysql_num_rows($rs_query);

    while (($RS = mysql_fetch_array($rs_query))) {
          extract($RS);
    $blogid=$RS["blog_id"];

    $query2 = "select * from wp_".$blogid."_posts ";
    $result = mysql_query($query2);
    $num= mysql_num_rows($result);
    //print $num;
    if ($num<=2) {
  print "DROP TABLE IF EXISTS wp_".$blogid."_comments;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_links ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_options ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_postmeta ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_posts ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_terms ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_term_relationships ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_term_taxonomy ;";
  print "DELETE from wp_blogs where blog_id=".$blogid.";";
    }
    }

    mysql_close ();

?>

  由此看出,WordPress MU使用起来实在不怎么样,多表结构设计的可能有问题,会带来很多麻烦。



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/1215.html
  • 文章排行:
  • 1.linker
  • 月光今天迟啦!这么晚才更新!wp功能多关注,要开英文博了。
  • 2008-1-22 0:16:13   支持(0)反对(0) 回复
  • 2.大勇
  • 上面的又在打广告哟,(*^__^*) 嘻嘻……
    感谢月光为大家经常提供一些有用的帮助!
    继续支持你!
  • 2008-1-22 0:17:06   支持(0)反对(0) 回复
  • 3.davidchen
  • 这本书可以在电骡下载到,需要的联系我,免费,全英文的nnd
  • 2008-1-22 0:29:38   支持(0)反对(0) 回复
  • 6.kaku
  • 目前这种多用户blog似乎从数量上不多,应该是不会变成论坛那样多的用户群吧,如果是人数多的话,假设论坛似乎更合适一些。我想既然是共同创作,那么应该不会存在太多的非活跃用户的。
  • 2008-1-22 1:38:35   支持(0)反对(0) 回复
  • 20.087
  • 恩,wp的模板我十分的喜欢啊。。

    正在学css呢。。。呵呵
  • 2008-1-22 17:19:41   支持(0)反对(0) 回复
  • 22.不是俺
  • gmail设置中怎么有这种东西:您有自己的域名吗? 在您的域中免费使用 Gmail.

    刚加上的?还是原来就有?俺原来怎么听说gmail的企业邮箱只有英文版才能用?
  • 2008-1-22 20:22:15   支持(0)反对(0) 回复
  • 24.Gomain
  • 确实有很多无效用户,
    但这段代码似乎没有为注册时间做出筛选,也许刚注册就被删掉了。

    多表策略本身并无问题,只是被许多空间商限制而已。
    也许月光该考虑将wpmu向lyceum迁移,这是我所知道的解决多表的最快捷方法。

    能否mail我你mu的网址?
  • 2008-1-27 14:41:44   支持(0)反对(0) 回复
  • 25.thom
  • 认真比较开源多博客平台后,我最终还是选择了 LifeType。WPMU 在数据结构上和 LT 还有些差距。
  • 2008-2-2 13:33:06   支持(0)反对(0) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.