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

WordPress 外掛 Index WP MySQL For Speed 的封面圖片。

前言介紹

  • 這款 WordPress 外掛「Index WP MySQL For Speed」是 2021-06-12 上架。
  • 目前有 40000 個安裝啟用數。
  • 上一次更新是 2025-03-13,距離現在已有 52 天。
  • 外掛最低要求 WordPress 4.2 以上版本才可以安裝。
  • 外掛要求網站主機運作至少需要 PHP 版本 5.6 以上。
  • 有 88 人給過評分。
  • 論壇上目前有 11 個提問,問題解答率 82% ,不低,算是個很有心解決問題的開發者團隊了!

外掛協作開發者

rjasdfiii | olliejones |

外掛標籤

key | index | mysql | wp-cli | performance |

內容簡介

如何使用這個外掛?

安裝並啟用這個外掛後,前往「工具」選單下的「索引 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

原文外掛簡介

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.

各版本下載點

  • 方法一:點下方版本號的連結下載 ZIP 檔案後,登入網站後台左側選單「外掛」的「安裝外掛」,然後選擇上方的「上傳外掛」,把下載回去的 ZIP 外掛打包檔案上傳上去安裝與啟用。
  • 方法二:透過「安裝外掛」的畫面右方搜尋功能,搜尋外掛名稱「Index WP MySQL For Speed」來進行安裝。

(建議使用方法二,確保安裝的版本符合當前運作的 WordPress 環境。


0.1.2 | 0.1.3 | 0.9.1 | 1.0.1 | 1.0.2 | 1.2.0 | 1.2.1 | 1.2.2 | 1.2.3 | 1.3.0 | 1.3.2 | 1.3.3 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.4 | 1.4.5 | 1.4.6 | 1.4.7 | 1.4.8 | 1.4.9 | 1.5.1 | 1.5.2 | 1.5.3 | trunk | 1.4.10 | 1.4.11 | 1.4.12 | 1.4.13 | 1.4.14 | 1.4.15 | 1.4.16 | 1.4.17 | 1.4.18 | 1.4.19 |

延伸相關外掛(你可能也想知道)

  • License Manager for WooCommerce 》WooCommerce 授權管理外掛可讓您輕鬆銷售和管理所有數字授權金鑰。憑藉批量導入器、自動交付、自動庫存管理和數據庫加密等功能,您的商店現在運行起來比以往...。
  • Protected wp-login 》這個 WordPress 外掛是簡單易用的保護登入表單的工具。, 這個外掛能讓你設置登入表單的安全密鑰。, 透過設置安全密鑰,大幅減少自動化暴力攻擊的風險。, 安全...。
  • WC Key Manager – Effortlessly sell license keys, game keys, pin codes, gift cards, and more with WooCommerce 》, , , ,

    總結:

    ,
      ,
    • WC Key Manager 是一個 WooCommerce 擴充功能...。
    • Dig Bloginfo Shortcode 》Dig Bloginfo Shortcode會取得部落格資訊並允許在HTML中使用,使用shortcode。, 範例:, [bloginfo key='name'], , [bloginfo key='url'], , [bloginfo key='...。
    • randomPost 》透過邀請訪客閱讀隨機文章,讓訪客停留在您的網站上更久並獲得更多網站流量!使用 randomPost 外掛程式並選擇您要使用的隨機 URL Slug。此 URL Slug 將會重新...。
    • Key Figures 》主要功能, 此外掛可以在你的內容中產生關鍵數字區塊。, 它是完全可自訂的,允許調整許多設定:, , 每個元素的大小, 文字大小和對齊方式, 位置, 動畫(例如計...。
    • WPKeyMe 》這個外掛允許您通過 URL 傳遞一個秘密鑰匙: http://example.com/post-title/?key=[string], 在一個名叫 “key” 的自訂數值中指定 [string] 鍵值,...。
    • Universal Accessibility Key (UAK) / Initiative MAJ+A 》— 中文翻譯 —, 這個外掛的想法是給予有視力困難(視力差)或理解障礙(文盲)的使用者一個立即訪問經過規劃好的 “無障礙內容” 的頁...。
    • Quick Save 》在文字編輯模式下,快速儲存 WordPress 外掛程式可讓您使用快捷鍵和點擊發布/更新按鈕更新文章和頁面。, 預設情況下,ALT 鍵用於儲存文章/頁面,但如果您有專...。
    • Private Feed Keys 》這個外掛讓使用者訂閱需要驗證的饋送。在多站點安裝中使用 More Privacy Options 時,標記為私人的部落格的 RSS 饋送需要驗證。這個外掛在私人部落格上新增了...。
    • Emarkx AI Integration with Telegram 》WordPress 外掛 Emarkx AI Integration with Telegram 可以讓使用者即時連結 Telegram 群組和機器人,透過 WordPress CMS 平台接入 AI 功能,快速生成智能回...。
    • WPLicense It 》這是一款專門為 WordPress 應用程式開發者所設計的最佳軟體授權管理解決方案,可以讓開發者適當且安全地管理其應用程式軟體授權。您還可以從 WordPress 儀表...。
    • Custom Field Cookie 》這個 WordPress 外掛程式會檢查頁面或文章中所有自訂金鑰 (custom keys),並將以「_Custom_Field_Cookie」為結尾的自訂金鑰及其值寫入 cookie 中。一個頁面或...。

文章
Filter
Apply Filters
Mastodon