2017-05-08 24 views
0

系統類型:64位
Windows版本:在Windows Server 2008 R2企業
的Microsoft Windows Server:6.1
MySQL工作臺版本:6.3

我管理多站點WordPress和它已經增長到33,000個表格,所以它變得非常慢。所以我試圖優化我們的安裝。我一直在開發DEV服務器,並最終刪除整個網站。假設現在複製活動服務器不是一個選項(請相信我,它不是),請你可以幫我以下幾點:

我突出顯示並從活動服務器複製表格將它們粘貼到DEV服務器文件夾。 Workbench識別Schemas區域中的表格,但是當我編寫SELECT查詢時,對於Innodb表格,它表示它們不存在。但是,MyISAM表成功運行。

我只是困惑,因爲我知道表在正確的文件夾,但由於某些原因,他們不查詢。我看到一個解決方案,說用常規查詢創建表格,然後將它們覆蓋在文件夾中,但這對我來說並不現實,因爲有33,000個表格。你們有沒有想過如何讓這些Innodb表再次運作?Innodb的表不存在

回答

0

不能通過文件系統複製各個InnoDB表。

您可以使用「可移動表空間」來執行此操作。請參閱您正在使用的MySQL版本的文檔。 (這是而不是Workbench相同的版本。)

這樣做並不明智,但這是可能的。相反,你應該使用一些轉儲/加載機制,如mysqldumpxtrabackup

WordPress的設計缺陷讓你得到33,000個表格。由於涉及到所有文件,這給操作系統帶來了性能壓力。

在轉向InnoDB的過程中,我會通過innodb_file_per_table的選擇小心地推薦您。這些想法涉及您使用的是哪個MySQL,表格有多大以及您是否將使用「可移動表空間」。

我確實有一個強烈建議在WP中更改索引:請參見http://mysql.rjweb.org/slides/cook.pdf的幻燈片63。它將提高許多查詢的性能。