Mysql中的單表最大記錄是多少
mysql單表最大記錄數(shù)不能超過多少
其實mysql本身并沒有對單表最大記錄數(shù)進(jìn)行限制,這個數(shù)值取決于你的操作系統(tǒng)對單個文件的限制本身。
從性能角度來講,Mysql單表數(shù)據(jù)不要超過多少呢?
業(yè)界流傳是500萬行,超過500萬行就要考慮分庫分表了。
曾經(jīng)在中國互聯(lián)網(wǎng)技術(shù)圈廣為流傳著這么一個說法:Mysql單表數(shù)據(jù)量大于2000萬行,性能會明顯下降。事實上,這個傳聞最早起大概是這樣的,當(dāng)年的DBA測試Mysql性能時發(fā)現(xiàn),當(dāng)單表的量在2000萬行量級時,Sql操作的性能急劇下降,因此,結(jié)論由此傳到業(yè)界的其他公司。所以就在業(yè)界流傳開這么一個說法。
再后來,阿里巴巴《Java開發(fā)手冊》提出單表行數(shù)超過500萬行或者單表容量超過2GB,才推薦進(jìn)行分庫分表。
那么當(dāng)單表容量超過500萬行,查詢效率下降后,我們可以如何應(yīng)付呢?
有如下幾種方式(來源于真實的企業(yè)):
- 對于使用不多的表(外部依賴少,信息不重要),可以直接清除老表,數(shù)據(jù)歸檔到hbase(或類似的,大容量成本低的冷庫)
- 分庫分表
- 老表保留,舊數(shù)據(jù)歸檔(參考第一點)
mysql單表存儲數(shù)據(jù)量有上限嗎
在mysql中,每個數(shù)據(jù)庫最多可創(chuàng)建20億個表,
一個表允許定義1024列,
每行的最大長度為8092字節(jié)(不包括文本和圖像類型的長度)。
當(dāng)表中定義有varchar、nvarchar或varbinary類型列時,如果向表中插入的數(shù)據(jù)行超過8092字節(jié)時將導(dǎo)致Transact-SQL語句失敗,并產(chǎn)生錯誤信息。
SQL Server對每個表中行的數(shù)量沒有直接限制,但它受數(shù)據(jù)庫存儲空間的限制。
每個數(shù)據(jù)庫的最大空間1048516TB,所以一個表可用的最大空間為1048516TB減去數(shù)據(jù)庫類系屬統(tǒng)表和其它數(shù)據(jù)庫對象所占用的空間。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL子查詢與HAVING/SELECT的結(jié)合使用
這篇文章主要介紹了MySQL子查詢在HAVING/SELECT字句中使用、及相關(guān)子查詢和WITH/EXISTS字句的使用,具有一定的參考價值,感興趣的可以了解一下2023-06-06
mysql中關(guān)于Myisam_recover自動修復(fù)的使用方法
這篇文章主要介紹了mysql中關(guān)于Myisam_recover自動修復(fù)的使用方法,需要的朋友可以參考下2016-05-05
詳解MySQL和Redis如何保證數(shù)據(jù)一致性
MySQL與Redis都是常用的數(shù)據(jù)存儲和緩存系統(tǒng),為了提高應(yīng)用程序的性能和可伸縮性,很多應(yīng)用程序?qū)ySQL和Redis一起使用,其中MySQL作為主要的持久存儲,而Redis作為主要的緩存,那么本文就給大家介紹一下MySQL和Redis如何保證數(shù)據(jù)一致性,需要的朋友可以參考下2023-08-08
關(guān)于mysql delete的問題小結(jié)
關(guān)于mysql delete的問題,需要的朋友可以參考下。2011-05-05
MySQL入門(三) 數(shù)據(jù)庫表的查詢操作【重要】
本節(jié)比較重要,對數(shù)據(jù)表數(shù)據(jù)進(jìn)行查詢操作,其中可能大家不熟悉的就對于INNER JOIN(內(nèi)連接)、LEFT JOIN(左連接)、RIGHT JOIN(右連接)等一些復(fù)雜查詢。 通過本節(jié)的學(xué)習(xí),可以讓你知道這些基本的復(fù)雜查詢是怎么實現(xiàn)的,,需要的朋友可以參考下2018-07-07
SQL中寫入包含有英文單引號“ '''' ”失敗問題深入詳解
這篇文章主要介紹了SQL中寫入包含有英文單引號“ ' ”失敗問題深入詳解,列舉了具體實例講解,有感興趣的同學(xué)可以研究下2021-03-03

