MySQL一張表最多能存多少條記錄?

2021-08-13 11:11:30 字數 1461 閱讀 6542

vagrant

1月7日提問

問題對人有幫助,內容完整,我也想知道答案

0問題沒有實際價值,缺少關鍵內容,沒有改進餘地

myisam 引擎,一張表最多能存多少條記錄,在什麼樣的資料規模下會考慮分表?
預設排序

時間排序

答案對人有幫助,有參考價值

2答案沒幫助,是錯誤的答案,答非所問

已採納

見官方文件:

there is a limit of (2^32)^2 (1.844e+19) rows in a myisam table.

這是myisam的理論上限,實踐上是達不到的。

實際行數上限還受myisam_data_pointer_size限制,64位的mysql的myisam_data_pointer_size通常是6,即48位,行數是2^48 - 1 = 281474976710655。

第二個上限是表的儲存空間大小限制(storage limits):256tb。

所以只要知道最小一行需要的空間,就能求出最多能存的記錄數。

oraoto

3.3k 聲望

答案對人有幫助,有參考價值

1答案沒幫助,是錯誤的答案,答非所問

單錶上限的話不怎麼好確定,基於自己的業務和伺服器效能,做些單錶的壓力測試,有很多現成的測試工具,如sysbench。什麼時候考慮分庫分表,這個時候肯定會感覺到查詢已經很慢了,資料量肯定很大了起碼千萬量級。即使建立了有效的索引,查詢也很慢。可以分析慢查詢日誌,也可以用一些監控工具如nagios實時監控mysql的狀態。什麼時候分庫分表心裡就能有個數了

oliver_lv

1.7k 聲望

答案對人有幫助,有參考價值

0答案沒幫助,是錯誤的答案,答非所問

理論上沒有限制,

遇見過,上億的

不過,不建議這樣幹

操作大表太操心了,

forethought

83 聲望

答案對人有幫助,有參考價值

0答案沒幫助,是錯誤的答案,答非所問

不用考慮上限的,因為一般專案達不到上限就需要分表分割槽等其他操作,不然查詢速度是無法忍受的。

aa楊1.2k 聲望

答案對人有幫助,有參考價值

0答案沒幫助,是錯誤的答案,答非所問

沒有必要去考慮你儲存的資料達到了表的儲存上限。在資料庫效能和業務上也不會允許你打到上限。

舉個例子:myisam引擎,在支援併發效能上不是很好(支援表鎖,不支援行鎖)。建議是不要在一張表上插入過多的資料。後果很嚴重。

分庫分表也是只根據資料量來判定,結合具體業務等。

者也8 聲望

答案對人有幫助,有參考價值

-3答案沒幫助,是錯誤的答案,答非所問

提供乙個專案參考:據我所知,phpcms v9 是100w資料分表;

mysql中VACHAR最多能存多少值

mysql的記錄長度是有限制的,不是無限長的,這個長度是64k,即65535個位元組,對所有的表都是一樣的。mysql對於變長型別的字段會有1 2個位元組來儲存字元長度。已知乙個位元組 8位二進位制,即2 8 1 255 字元數小於255時,2 8 1 255,則mysql只需要用乙個位元組來記錄字...

mysql一張表到底能存多少資料?

程式設計師平時和mysql打交道一定不少,可以說每天都有接觸到,但是mysql一張表到底能存多少資料呢?計算根據是什麼呢?接下來咱們逐一 在作業系統中,我們知道為了跟磁碟互動,記憶體也是分頁的,一頁大小4kb。同樣的在mysql中為了提高吞吐率,資料也是分頁的,不過mysql的資料頁大小是16kb。...

一張紙厚度是多少公釐 一張紙最多摺疊多少次?

a4紙摺疊51次後,會到達太陽表面?你先摺疊夠8次再說吧!紙張是再普通不過的了,可以用它來寫字,也可以用來摺紙。在近日網路上就流傳著這樣的說法,一張紙是不可以摺疊超過7次的。在摺疊第7次的時候就已經非常費力地,想要完成第8次是幾乎不可能的,這裡的指的是a4紙,而並不是經過特殊材料製作的紙張。那麼一張...