mysql資料庫表數量
mysql單資料庫對數據表限制數量的問題:
1.一個資料庫是沒有表現值的,或者說這個被限制的值很大
2.一個mysqld服務可以支持的表對象數量是,42億多點,所以這個限制基本上不需要考慮
從性能考慮的話,一個資料庫建立多少張表適合的問題:
1.當一個資料庫或實例中,表太多,意味著可能同時需要打開的表,從操作系統角度說就是:文件描述符很多,這個操作系統有限制的,但是可以修改操作系統的內核參數達到
2.多少表性能就會下降,分2點闡述
2.1.分表多,意味著需要維護的表結構和統計信息多,一般情況下此不會成為任何瓶頸,但是太不合理,比如幾萬甚至更大,可能就有問題了
2.2.性能是否下降明顯,最直接的就是:跟伺服器的承載能力和數據量有關系,這個是最直接的
3.反問「為何要分很多表」呢?
3.1.分表太多,容易造成程序邏輯復雜,降低性能,以及增加出錯的風險點
3.2.若是表中的數據量(指容量,多少GB)很大,只是分表解決不了問題,因為在同一個伺服器上,其物理IO能力最優先達到瓶頸
所以,一個資料庫建立多少表,這個MYSQL是沒有限制的。但是從性能考慮,肯定是有一定影響的,但是從IO和其他伺服器性能考慮,這塊的性能基本上還不足影響到很大成份。所以建議大家一個資料庫建立在二百個表以下,這樣也是比較合理的了。影響性能也不大。
但是如果你執意要知道MYSQL能夠建立多少個表的話,可以參考以下理論值的資料吧:
在mysql中,每個資料庫最多可創建20億個表,一個表允許定義1024列,每行的最大長度為8092位元組(不包括文本和圖像類型的長度)。
當表中定義有varchar、nvarchar或varbinary類型列時,如果向表中插入的數據行超過8092位元組時將導致Transact-SQL語句失敗,並產生錯誤信息。
❷ 一個mysql資料庫, 最大可以支持多少個表數
支持表數不限制,
但我們正常不要超過64個,對數據處理速度會造成影響。