月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 三个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/ ]

本文链接地址:http://www.williamlong.info/archives/1215.html
  • 文章排行:
  • wordpress的blog_id(引用)
  • needgoogle.cn
  • 刚开始看WP,我一直以为blog_id只是在MU里面才有,只是不知道有什么用,原来MU里面是用它来区分不同的BLOGGER的。

    addthis_url = 'http%3A%2F%2Fneedgoogle.cn%2F';
    addthis_title = '';
    addthis_pub = '';

    Po...
  • 2008-3-29 23:55:09
  • 6.kaku
  • http://www.kakug.com/blog
  • 目前这种多用户blog似乎从数量上不多,应该是不会变成论坛那样多的用户群吧,如果是人数多的话,假设论坛似乎更合适一些。我想既然是共同创作,那么应该不会存在太多的非活跃用户的。
  • 2008-1-22 1:38:35
  • 22.不是俺
  • http://www.butwho.net
  • gmail设置中怎么有这种东西:您有自己的域名吗? 在您的域中免费使用 Gmail.

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

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

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

发表评论:

◎声明:转载本文时请务必以超链接形式标明文章原始出处和作者,本文严禁商业网站转载。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过抓虾订阅本站
  • 通过电子邮件订阅本站

站内搜索


热文排行

最新评论

最近发表

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.