MySQL可以處理的表的最大數量是多少?MySQL中的最大表數
回答
的事實,你問這個問題可能是你沒有采取最佳實踐方法,以你的問題的一個指標。
您可能要解釋爲什麼你需要創建很多表,以查看是否您將收到關於如何解決這個問題的更好的建議。
不過,也有在一個MySQL數據庫中的表的數目沒有服務器限制,但因爲每個MyISAM表具有相關的文件,然後在允許將有效力的文件數量的任何操作系統的限制。 InnoDB表,索引等存儲在一個表空間中,最多有20億個表。 (Source)
什麼是MyISAM? – John 2010-01-27 02:03:23
MyISAM是MySQL的默認存儲引擎。你的表可能使用MyISAM,除非你明確聲明使用InnoDB。每個MyISAM表都以三個文件存儲在磁盤上。這些文件的名稱以表名開頭,並有一個擴展名來指示文件類型。 .frm文件存儲表格格式。數據文件具有.MYD擴展名。索引文件具有.MYI擴展名。更多信息:http://dev.mysql.com/doc/refman/5.0/en/myisam-storage-engine.html,http://en.wikipedia.org/wiki/MyISAM。 – 2010-01-27 04:54:57
+1,因爲即使在指出它可能不是一個好主意之後仍然回答這個問題。 – 2013-01-07 19:20:38
與Daniel Vassallo的回答相反,我有一個需要大量表的用例。我可能是錯的,但我不認爲有什麼「最佳做法」可以減少桌子的數量。
雖然它可能是正確的,表的數量僅由操作系統的限制,我只想補充一點,我使用了超過1000個數據庫中的表有相當不錯的表現。唯一的缺點似乎是增加了.frm文件的開銷。在我的情況下,我已經將一個非常大的表分割成1000多個具有相同表結構的獨立表。 MySQL分區對我來說不是一種選擇,因爲非規範化需要在單獨的表中記錄每個記錄的2個副本。
*「我已將一張非常大的桌子分成1000多張獨立的桌子」* - 您爲什麼必須這樣做? – TMS 2013-06-30 09:17:54
提高性能(更快的查詢時間)。正如我所解釋的那樣,分區不是一種選擇,因爲它不允許我將每個記錄的兩個副本放入不同的分區(至少不是我能想出的任何方式)。 – robguinness 2013-07-01 09:59:31
從數據規範化的角度來看,很多表可能是不好的做法(取決於表)。只是說,每種理論都需要在實踐中得到證實,反之亦然。所以我懷疑你的評論(在答案中)採取的立場,但是+1分享你所做的。 – hakre 2017-02-13 23:33:42
我也有在需要大量的表的使用情況。目前我們的一個數據庫擁有接近100.000張桌子,並且表現出色。
正如羅布吉尼斯提到的,對於.FRM文件顯著的開銷。同樣重要的是要注意,對信息模式的任何查詢都沒有限制,如果可能的話,表本身在查詢運行時會導致嚴重的性能下降。
這些表中的每一個都有不同的結構? – TMS 2013-06-30 09:16:17
事實上,你問這個問題可能是一個指標 ,你沒有采取最佳實踐方法來解決你的問題。
您可能需要大量表的一種潛在情況是當您開發多租戶應用程序時,您爲每個租戶創建單獨的一組表(以tentantId作爲表名前綴)。請參閱本文(部分數據隔離):http://www.javacodegeeks.com/2013/11/architecting-a-multi-tenant-application.html
- 1. MySQL表中的最大列數
- 2. mysql表中的最大列數錯誤
- 3. MySQL數據庫中的最大表格
- 4. MySQL數據庫的最大表大小
- 5. 什麼是MySQL表的最大行數
- 6. mysql的最大連接表
- 7. Mysql最大行數
- 8. MySQL中表名的最大長度
- 9. mysql的最大計數
- 10. MySQL最大數據庫數
- 11. Mysql UNION表最大日期
- 12. 選擇mysql中的最大數字
- 13. 簡單的MySql - 獲取表中最大的數字
- 14. 的MySQL數最大的轉診線索在一個表中
- 15. 從mysql表中選擇最大金額
- 16. 從MySQL表中選擇最大數字表不工作 - PHP
- 17. MySQL中的最大值(distinct ...)?
- 18. 行中的MySQL最大值
- 19. MySQL的計數的最大行數
- 20. Mysql:獲得一個表中城市發生的最大數量
- 21. mySQL - 從一個表中獲取最大分數的用戶
- 22. SQL Server和MySQL中可工作表的最大數量
- 23. MySQL-最大計數多組
- 24. MySQL中UNIQUE索引的最大大小
- 25. 列表中的最大數小於數
- 26. 整數對列表中的最大數
- 27. 獲取相關數據,最大mysql中
- 28. 在mysql中選擇最大記錄數
- 29. MySQL的左連接右表最大值
- 30. 查找數組中最大的最大列表
有關文檔,請參見[限制數據庫和表的數量](https://dev.mysql.com/doc/refman/5.5/en/database-count- limit.html)和類似的。例如。 'InnoDB'允許高達40億張桌子(我必須承認,如果這是美國的數十億美元,我不能說)。對於專業評論:[Bill Karwin在「是否有最大數量的MySQL數據庫可以擁有?」](https://www.quora.com/Is-there-a-maximum-number-of-tables- a-MySQL-database-can-have) – hakre 2017-02-13 23:35:33