[WordPress] 外掛分享: Index WP MySQL For Speed

首頁外掛目錄 › Index WP MySQL For Speed
WordPress 外掛 Index WP MySQL For Speed 的封面圖片
50,000+
安裝啟用
★★★★
4.8/5 分(96 則評價)
51 天前
最後更新
100%
問題解決
WordPress 4.2+ PHP 5.6+ v1.5.6 上架:2021-06-12

內容簡介

如何使用這個外掛?

安裝並啟用這個外掛後,前往「工具」選單下的「索引 MySQL 工具」。從那裡,您可以按下「立即新增索引鍵」的按鈕。如果您有大型資料表,建議使用WP-CLI以避免時間逾時。請參閱 WP-CLI 部分,以進一步瞭解。

這個外掛對我的網站有什麼幫助?

這個外掛透過為所選擇的資料表新增高效率的索引鍵,讓您的 MySQL 資料庫更有效率。當您要求時,它可以監控您的網站使用 MySQL 資料庫的方式,以偵測哪些資料庫操作最緩慢。這個外掛對於大型網站最有用:擁有許多使用者、文章、頁面和/或產品的網站。

如果需要的話,您可以使用它來還原 WordPress 的預設索引鍵。

這是什麼?

WordPress 儲存所有使您的網站變得出色的內容在哪裡?在哪裡可以找到您的頁面、文章、產品、媒體、使用者、自訂欄位、元數據和所有寶貴的內容?所有這些資料都在關聯式資料庫管理系統 MySQL 中。 (許多託管提供者和伺服器都使用 MySQL 軟體的 MariaDB 分支版本;它的功能完全與 MySQL 相同。)

隨著您的網站成長,您的 MySQL 資料表也會成長。巨大的資料表可能會使您的網頁讀取速度變慢,使使用者感到沮喪,甚至損害您的搜尋引擎排名。那麼,您可以怎麼解決這個問題呢?

您可以安裝並使用資料庫清理外掛來刪除舊的不需要的資料並重新組織您的資料表,使它們更小,速度更快。這是一個好且必要的任務。但這並不是這個外掛的任務。如果您的託管提供者支援,您可以安裝並使用Persistent Object Cache 外掛來減少對您的資料庫流量。但這也不是這個外掛的任務。

這個外掛為您的 MySQL 資料表新增資料庫索引鍵 (也稱為索引),以使 WordPress 更容易找到它需要的資訊。所有關聯式資料庫管理系統都會在長壽的資料表中存儲您的資訊。例如,WordPress 將您的文章和其他內容存儲在名為 wp_posts 的資料表中,而自訂文章欄位則存儲在另一個名為 wp_postmeta 的資料表中。成功的網站可以擁有數千篇文章和數十萬個自訂文章欄位。MySQL 的兩個工作是:

保持所有資料有條理。
快速找到所需的資料。

為了完成第二個工作,MySQL 使用資料庫索引鍵。每個資料表都有一個或多個索引鍵。例如,wp_posts 有一個讓它在您知道作者時快速找到文章的索引鍵。如果沒有其 post_author 索引鍵,MySQL 將不得不掃描您的每一篇文章來尋找與您想要的作者相符的文章。我們的使用者知道這是什麼:很慢。有了索引鍵,MySQL 可以跳轉到符合條件的文章。

在有幾個使用者和十幾篇文章的新 WordPress 網站中,索引鍵不是很重要。當網站成長時,索引鍵變得更加重要。資料庫管理系統設計成可以在資料表增長時更新、調整和調整它們。它們的設計可以允許索引鍵隨著時間而演變,而不必改變底層資料表的內容。在擁有大型資料庫的組織中,新增、刪除或更改索引鍵是常規維護任務。如果更改索引鍵會導致資料庫遺失資料,MySQL 和 MariaDB 開發者將聽到的呼聲不僅僅是您和我,還有許多重量級使用者。(Y

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.5.6) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Index WP MySQL For Speed」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

How do I use this plugin?
After you install and activate this plugin, visit the Index MySQL Tool under the Tools menu. From there you can press the Add Keys Now button. If you have large tables, use it with WP-CLI instead to avoid timeouts. See the WP-CLI section to learn more.
What does it do for my site?
This plugin works to make your MySQL database work more efficiently by adding high-performance keys to the tables you choose. On request it monitors your site’s use of your MySQL database to detect which database operations are slowest. It is most useful for large sites: sites with many users, posts, pages, and / or products.
You can use it to restore WordPress’s default keys if need be.
What is this all about?
Where does WordPress store all that stuff that makes your site great? Where are your pages, posts, products, media, users, custom fields, metadata, and all your valuable content? All that data is in the MySQL relational database management system. (Many hosting providers and servers use the MariaDB fork of the MySQL software; it works exactly the same way as MySQL itself.)
As your site grows, your MySQL tables grow. Giant tables can make your page loads slow down, frustrate your users, and even hurt your search-engine rankings. And, bulk imports can take absurd amounts of time. What can you do about this?
You can install and use a database cleaner plugin to get rid of old unwanted data and reorganize your tables. That makes them smaller, and therefore faster. That is a good and necessary task. That is not the task of this plugin. You can, if your hosting provider supports it, install and use a Persistent Object Cache plugin to reduce traffic to your database. That is not the task of this plugin either.
This plugin adds database keys (also called indexes) to your MySQL tables to make it easier for WordPress to find the information it needs. All relational database management systems store your information in long-lived tables. For example, WordPress stores your posts and other content in a table called wp_posts, and custom post fields in another table called wp_postmeta. A successful site can have thousands of posts and hundreds of thousands of custom post fields. MySQL has two jobs:

Keep all that data organized.
Find the data it needs quickly.

To do its second job, MySQL uses database keys. Each table has one or more keys. For example, wp_posts has a key to let it quickly find posts when you know the author. Without its post_author key MySQL would have to scan every one of your posts looking for matches to the author you want. Our users know what that looks like: slow. With the key, MySQL can jump right to the matching posts.
In a new WordPress site with a couple of users and a dozen posts, the keys don’t matter very much. As the site grows the keys start to matter, a lot. Database management systems are designed to have their keys updated, adjusted, and tweaked as their tables grow. They’re designed to allow the keys to evolve without changing the content of the underlying tables. In organizations with large databases adding, dropping, or altering keys doesn’t change the underlying data. It is a routine maintenance task in many data centers. If changing keys caused databases to lose data, the MySQL and MariaDB developers would hear howling not just from you and me, but from many heavyweight users. (You should still back up your WordPress instance of course.)
Better keys allow WordPress’s code to run faster without any code changes. Experience with large sites shows that many MySQL slowdowns can be improved by better keys. Code is poetry, data is treasure, and database keys are grease that makes code and data work together smoothly.
Which tables does the plugin add keys to?
This plugin adds and updates keys in these WordPress and WooCommerce tables.

wp_comments
wp_commentmeta
wp_posts
wp_postmeta
wp_termmeta
wp_users
wp_usermeta
wp_options
wp_wc_orders_meta
wp_woocommerce_order_itemmeta
wp_automatewoo_log_meta

You only need run this plugin once to get its benefits.
How can I monitor my database’s operation?
On the Index MySQL page (from your Tools menu on your dashboard), you will find the “Monitor Database Operations” tab. Use it to request monitoring for a number of minutes you choose.
You can monitor

either the site (your user-visible pages) or the dashboard, or both.
all pageviews, or a random sample. (Random samples are useful on very busy sites to reduce monitoring overhead.)

Once you have gathered monitoring information, you can view the captured queries, and sort them by how long they take. Or you can save the monitor information to a file and show it to somebody who knows about database operations. Or you can upload the monitor to the plugin’s servers so the authors can look at it.
It’s a good idea to monitor for a five-minute interval at a time of day when your site is busy. Once you’ve completed a monitor, you can examine it to determine which database operations are slowing you down the most.
Please consider uploading your saved monitors to the plugin’s servers. It’s how we learn from your experience to keep improving. Push the Upload button on the monitor’s tab.
WP-CLI command line operation
This plugin supports WP-CLI. When your tables are large this is the best way to add the high-performance keys: it doesn’t time out.
Give the command wp help index-mysql for details. A few examples:

wp index-mysql status shows the current status of high-performance keys.
wp index-mysql enable --all adds the high-performance keys to all tables that don’t have them.
wp index-mysql enable wp_postmeta adds the high-performance keys to the postmeta table.
wp index-mysql disable --all removes the high-performance keys from all tables that have them, restoring WordPress’s default keys.
wp index-mysql enable --all --dryrun writes out the SQL statements necessary to add the high-performance keys to all tables, but does not run them.
wp index-mysql enable --all --dryrun | wp db query writes out the SQL statements and pipes them to wp db to run them.

Note: avoid saving the –dryrun output statements to run later. The plugin generates them to match the current state of your tables.
Why use this plugin?
Three reasons (maybe four):

to save carbon footprint.
to save carbon footprint.
to save carbon footprint.
to save people time.

Seriously, the microwatt hours of electricity saved by faster web site technologies add up fast, especially at WordPress’s global scale.
How can I learn more about making my WordPress site more efficient?
We offer several plugins to help with your site’s database efficiency. You can read about them here.
Credits

Michael Uno for Admin Page Framework.
Marco Cesarato for LiteSQLParser.
Allan Jardine for Datatables.net.
Leho Kraav and Sebastian Sommer for suggesting the WooCommerce tables.
Japreet Sethi for advice, and for testing on his large installation.
Rick James for everything.
Jetbrains for their IDE tools, especially PhpStorm. It’s hard to imagine trying to navigate an epic code base without their tools.

延伸相關外掛

文章
Filter
Apply Filters
Mastodon