Mysql

在 MySQL 中使用數千個表的性能損失

  • May 29, 2021

背景

我正在使用 WordPress 多站點,其中每個使用者都有一個單獨的部落格。對於每個部落格,額外創建了 15 個表。該網站將被成千上萬的使用者使用。這意味著將有超過 15,000 個表隨著每個使用者的增長而增長。

問題

  1. 在單個數據庫上擁有這麼多表是否會降低性能?
  2. 與單個 WordPress 安裝相比,它有多重要?

有一天 WP 會意識到他們為每個使用者設計 1 個數據庫的設計存在擴展問題。1 個使用者與 100 個使用者可能差別不大。1K-10K 開始表現出疼痛,這取決於有多少“活躍”。

1000 個數據庫意味著文件系統中有 1000 個子目錄。這是作業系統中的一些負擔。(10K 會更糟。)

15K 表可能是也可能不是問題。例如,如果有 100 個部落格處於活動狀態,那麼就有 1500 個表處於活動狀態。這意味著您可能應該table_open_cache設置為 1500 左右。(加上其他設置可能需要提高。)

但是…如果您沒有性能問題的症狀,請不要擔心。也許您的使用者非常輕量級,這不是問題。

引用自:https://dba.stackexchange.com/questions/134542