將以下程式碼複製到記事本中然後儲存為 db_best.php 檔案,修改好相應資料庫資訊後上傳至網站然後使用瀏覽器直接訪問該指令碼即可一鍵最佳化資料庫,不過由於一次性執行多個 sql 查詢,所以該指令碼訪問時響應速度可能會比較長,最佳化成功後會顯示 Done 。 (PS:最佳化前記得備份資料庫以防萬一。)

相關文章:WordPress 資料庫結構說明

PHP

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26
<?php

//WordPress 資料庫最佳化指令碼 by weixiaoduo.com

$hostname_blog = "localhost";//設定資料庫主機,同 wp-config.php

$database_blog = "WordPress";//設定資料庫名,同 wp-config.php

$username_blog = "root";//設定資料庫使用者名稱,同 wp-config.php

$password_blog = "";//設定資料庫密碼,同 wp-config.php

$blog = mysql_pconnect($hostname_blog, $username_blog, $password_blog) or trigger_error(mysql_error(),E_USER_ERROR);

mysql_select_db($database_blog, $blog);

mysql_query('DELETE FROM wp_posts WHERE post_type = "revision"');

mysql_query('DELETE FROM wp_postmeta WHERE meta_key = "_edit_lock"');

mysql_query('DELETE FROM wp_postmeta WHERE meta_key = "_edit_last"');

mysql_query('DELETE FROM wp_commentmeta WHERE meta_key LIKE "%trash%"');

mysql_query('DELETE FROM wp_comments WHERE comment_approved = "trash"');

mysql_query('DELETE FROM wp_options WHERE option_name REGEXP "_transient_"');

mysql_query('DELETE FROM wp_postmeta WHERE meta_key = 『_wp_attached_file』');

mysql_query('DELETE FROM wp_postmeta WHERE meta_key = 『_wp_attachment_metadata』');

mysql_query("delete from wp_posts

where (post_status='auto-draft' or post_status='inherit')

and post_type='post'");

$tablelist = mysql_query("SHOW TABLES");

while($checklist = mysql_fetch_array($tablelist)) {

       $optimization=mysql_query("OPTIMIZE TABLE `$checklist[0]`");

}echo 'Done';

  

//ps 記得修改資料庫字首~

//使用時將指令碼上傳至網站任意目錄後並且透過瀏覽器訪問即可一鍵最佳化 wordprsss 資料庫。

 

2015-12-29T16:40:30+08:00發表於:2015-12-29|WordPress|