月光博客

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

« 三个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
  • 1.linker
  • 月光今天迟啦!这么晚才更新!wp功能多关注,要开英文博了。
  • ip: 123.6.37.*  2008-1-22 0:16:13   回复该留言
  • 2.大勇
  • 上面的又在打广告哟,(*^__^*) 嘻嘻……
    感谢月光为大家经常提供一些有用的帮助!
    继续支持你!
  • ip: 220.194.46.*  2008-1-22 0:17:06   回复该留言
  • 3.davidchen
  • 这本书可以在电骡下载到,需要的联系我,免费,全英文的nnd
  • ip: 222.59.64.*  2008-1-22 0:29:38   回复该留言
  • 6.kaku
  • 目前这种多用户blog似乎从数量上不多,应该是不会变成论坛那样多的用户群吧,如果是人数多的话,假设论坛似乎更合适一些。我想既然是共同创作,那么应该不会存在太多的非活跃用户的。
  • ip: 222.22.31.*  2008-1-22 1:38:35   回复该留言
  • 9.guwei
  • WP能全不静态就好了,COS的那个还是有问题- -
  • ip: 58.240.76.*  2008-1-22 8:25:09   回复该留言
  • 12.自由天空
  • 这样的判断标准是否过于简单?再加上一个时间限制要好一些。
  • ip: 220.113.3.*  2008-1-22 9:14:22   回复该留言
  • 20.087
  • 恩,wp的模板我十分的喜欢啊。。

    正在学css呢。。。呵呵
  • ip: 59.56.8.*  2008-1-22 17:19:41   回复该留言
  • 22.不是俺
  • gmail设置中怎么有这种东西:您有自己的域名吗? 在您的域中免费使用 Gmail.

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

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

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

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 跟随我的推特:跟随我的推特
  • 跟随新浪微博:跟随新浪微博
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅本站

站内搜索

热文排行

最新评论及回复

最近发表

网站收藏

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

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