應該在通常會存儲一個短字符串(10到40個字符)的列中使用哪種DataType,但最終會存儲大量文本(500 - 1000個字符)? 包含此列的表只有三列。其中兩個是複合鍵,另一個是有問題的列。 我不需要根據此列進行排序或訂購。我應該選擇什麼DataType?
那麼,我應該選擇什麼DataType?
在此先感謝。 對不起,我的英語。
應該在通常會存儲一個短字符串(10到40個字符)的列中使用哪種DataType,但最終會存儲大量文本(500 - 1000個字符)? 包含此列的表只有三列。其中兩個是複合鍵,另一個是有問題的列。 我不需要根據此列進行排序或訂購。我應該選擇什麼DataType?
那麼,我應該選擇什麼DataType?
在此先感謝。 對不起,我的英語。
這是VARCHAR (1000)
之間勝負難料(你可能需要它是大於1000),並且只使用TEXT
。我不知道你是否需要NOT NULL
,但顯然如果你需要的話就補充一點。
請注意,如果您製作了VARCHAR
,那麼您將對列大小施加一定的限制。只有當你知道你不會超過這個尺寸時才使用VARCHAR
。如果你可能有異常值,那就去TEXT
。
VARCHAR(1000)
我仍然在踢我自己選擇VARCHAR,當我可以使用TEXT。
例如,我有電話號碼錶:
number VARCHAR(50) ,
description VARCHAR(100) ,
通常,「說明」只是像「細胞」或「家」,但有時你想輸入的東西像「姐姐的手機,不要在緊急情況下打電話,因爲她工作的夜晚!!」 - 然後你上了小溪。
如果你使用VARCHAR,那麼我會把最大的數額放在你想象的任何可能到達的地方,即使如此,你也無法預測所有的用例。此外,當輸入文本長度大於最大允許長度時,您仍然必須爲實例編寫代碼處理代碼。
爲什麼在不需要的時候限制?如果你不需要,爲什麼寫處理代碼?性能增益真的如此重要嗎?
謝謝。我將保持它作爲varchar(1000)。 我不必超過1000的限制。 當然,我會添加非空選項。 再次感謝。 – Juliano 2010-06-21 14:00:14