月光博客

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

« 三个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功能多关注,要开英文博了。
  • 2008-1-22 0:16:13   回复该留言
  • 2.大勇
  • 上面的又在打广告哟,(*^__^*) 嘻嘻……
    感谢月光为大家经常提供一些有用的帮助!
    继续支持你!
  • 2008-1-22 0:17:06   回复该留言
  • 3.davidchen
  • 这本书可以在电骡下载到,需要的联系我,免费,全英文的nnd
  • 2008-1-22 0:29:38   回复该留言
  • 4.真水无味
  • 月光,是否要转wp了?
    如果这样,带我一起吧
    Z-blog
  • 2008-1-22 0:34:02   回复该留言
  • 6.kaku
  • 目前这种多用户blog似乎从数量上不多,应该是不会变成论坛那样多的用户群吧,如果是人数多的话,假设论坛似乎更合适一些。我想既然是共同创作,那么应该不会存在太多的非活跃用户的。
  • 2008-1-22 1:38:35   回复该留言
  • 7.黔岭书生
  • 99162.com
  • php我很滥,但也关注WP,从今起会经常光顾这里学习!
  • 2008-1-22 7:40:46   回复该留言
  • 8.黔岭书生
  • 我是用手机访问,来这里的朋友有没有使用WAP啊?
  • 2008-1-22 7:56:42   回复该留言
  • 9.guwei
  • WP能全不静态就好了,COS的那个还是有问题- -
  • 2008-1-22 8:25:09   回复该留言
  • 10.低调年华
  • 你的“技术文摘”里已经被AD占满了.......
  • 2008-1-22 8:29:23   回复该留言
  • 22.不是俺
  • gmail设置中怎么有这种东西:您有自己的域名吗? 在您的域中免费使用 Gmail.

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

    多表策略本身并无问题,只是被许多空间商限制而已。
    也许月光该考虑将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.