[英]Database with millions of tables
我經常閱讀MySQL數據庫,當數據庫中存在特定的表時,這些數據庫是不可靠的。 我的問題是我的系統的所有用戶都能夠創建一個練習,並且每個練習都存儲為一個額外的表。 從理論上講,5年后有可能存在超過100,000或甚至2,000,000個表。 這是MySQL系統的問題嗎?有什么更好的方法來處理這個問題?
MySQL本身對數據庫或表的數量沒有內置限制 。 但是,每個數據庫都將打開一個新目錄,每個表最多可能導致該目錄中有三個文件。 如果您的系統無法有效處理,您可能會在一段時間后遇到問題。
我建議您在用戶創建表時記錄帶有時間戳的表。 然后你可以在它們過時后安全地放下它們。
您可以在每個表使用時trigger
。 創建一個active_tables
表,並在每次創建新表時使用日期和時間創建一個條目。 並且還為select, update, delete OR schema modification
或any DML
操作創建trigger
並在active_table
更新表修改時間,然后每天運行CRON
作業以刪除所有舊表並且在過去6個月內未使用的表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.