2013-01-22 39 views
0

我試圖提高我的一個客戶的數據庫性能。 很多表有bigint(250)。我讀過MySql文檔中的bigint是最大8位/字節。我不明白爲什麼有可能有一個bigint(250),而最大值是8?mysql bigint(250)是否矯枉過正/最大字段大小

此外,對於INT字段,某些字段具有INT(25),但INT最大爲8位/字節。

我看到這個正確與否嗎?

什麼是MySql的尺寸大於字段大小?

+3

我相信MySql中的大小字段與小數位數相關,而不是任何對程序員來說合乎邏輯的意義。 – paddy

+3

列中的數字代表顯示尺寸。如果您有INT(1),它仍然是4個字節,但即使使用內部全部4個字節,您也只能看到1個數字。顯然,有人設計你的數據庫,卻不知道括號中的數字是什麼。擁有這麼大的數字並不會讓人傷心,但是你可以自由地忽略它們。 –

回答

1

當處理諸如INT,BIGINT等類型時,括號內的數字僅用於顯示寬度,例如, VARCHAR,它也定義了存儲大小。

如果顯示寬度如此之大,您可以放心地假設設計者只是有一點瘋狂,因爲除非寬度小於最大值,否則基本上是無用的。

確定該字段是否被簽名將會更加重要。將其定義爲BIGINT UNSIGNED可有效地將字段的範圍擴大到不應爲負數的字段,例如標識符。

+1

「你可以放心地假設設計師只是有一點瘋狂」這讓我笑了起來 – pocesar

相關問題