MySQL單表能存儲多少條數據?


MySQL是中小型網站普遍使用的數據庫之一,然而,很多人並不清楚MySQL到底能支持多大的數據量,甚至對它產生誤解。MySQL單表的上限,主要與操作系統支持的最大文件大小有關。
事實上MySQL能承受的數據量的多少主要和數據表的結構有關,並不是一個固定的數值。表的結構簡單,則能承受的數據量相對比結構復雜時大些。
即:MySQL 為了提高性能,會將表的索引裝載到內存中。InnoDB buffer size 足夠的情況下,其能完成全加載進內存,查詢不會有問題。但是,當單表數據庫到達某個量級的上限時,導致內存無法存儲其索引,使得之后的 SQL 查詢會產生磁盤 IO,從而導致性能下降。當然,這個還有具體的表結構的設計有關,最終導致的問題都是內存限制。

MySQL自己提供的案例:1996年以來,我們一直都在使用MySQL,其環境有超過40個數據庫,包含10,000個表,其中500多個表超過7百萬行,這大約有100GB的關鍵應用數據。我們還聽說,有些用戶將MySQL用於含60000個表和約50億行的數據庫。

我自己一年前的測試顯示:MySQL數據庫單表在5千萬條記錄(10G)情況下運行良好。當然,這些結論和對數據庫的優化是分不開的


通過查閱資料發現:
MySQL本身並沒有對單表最大記錄數進行限制,這個數值取決於你的操作系統對單個文件的限制本身。業界流傳是500萬行。超過500萬行就要考慮分表分庫了。阿里巴巴《Java 開發手冊》提出單表行數超過 500 萬行或者單表容量超過 2GB,才推薦進行分庫分表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM