lily 2008-10-2 18:22
WordPress MU优化表的脚本
<img src="http://www.williamlong.info/logo/wordpress.gif" alt="WordPress" class="thumb" /><p> WordPress MU由于每建立一个新的用户都会自动建立十多张表,因此当注册大量用户的时候会建立非常多的表,引起系统的性能出现问题,我这里写了一段脚本,可以将WordPress MU中的不活动用户(从没有发布文章的用户)进行删除,以节约系统资源。PHP脚本源代码如下:</p><p><?php</p><p> $mysql_host = "localhost";<br /> $mysql_user = "root";<br /> $mysql_pass = "";<br /> $mysql_db = "wordpress";</p><p> $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass)<br /> or die ("Cannot make the connection");<br /> mysql_select_db($mysql_db, $mysql_mylink)<br /> or die ("Cannot connect to the database");</p><p> $strsql="select * from wp_blogs where blog_id>2 ";</p><p> $rs_query = mysql_query($strsql);<br /> $alls=mysql_num_rows($rs_query);</p><p> while (($RS = mysql_fetch_array($rs_query))) {<br /> extract($RS);<br /> $blogid=$RS["blog_id"];</p><p> $query2 = "select * from wp_".$blogid."_posts ";<br /> $result = mysql_query($query2);<br /> $num= mysql_num_rows($result);<br /> //print $num;<br /> if ($num<=2) {<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_comments;";<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_links ;";<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_options ;";<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_postmeta ;";<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_posts ;";<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_terms ;";<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_term_relationships ;";<br /> print "DROP TABLE IF EXISTS wp_".$blogid."_term_taxonomy ;";<br /> print "DELETE from wp_blogs where blog_id=".$blogid.";";<br /> }<br /> }</p><p> mysql_close ();</p><p>?></p><p> 由此看出,WordPress MU使用起来实在不怎么样,多表结构设计的可能有问题,会带来很多麻烦。</p>