我的服務器有我的SQL版本5.0.91-community,現在我必須存儲一個長度約500字符或多或少的字符串,我想用文本數據類型去,但後來有人告訴我它會降低性能,我想知道更多關於varchar的知識,並且它是有限的。關於varchar數據類型的困惑
我曾經認爲varchar僅限於255個字符,但隨後我在某處讀到它能夠存儲更多的那個在新版本中,即> = 5.0.3,因爲我使用的是5.0.91你認爲我應該用嗎?如果我使用它像varchar(1000)它仍然有效?
謝謝。
我的服務器有我的SQL版本5.0.91-community,現在我必須存儲一個長度約500字符或多或少的字符串,我想用文本數據類型去,但後來有人告訴我它會降低性能,我想知道更多關於varchar的知識,並且它是有限的。關於varchar數據類型的困惑
我曾經認爲varchar僅限於255個字符,但隨後我在某處讀到它能夠存儲更多的那個在新版本中,即> = 5.0.3,因爲我使用的是5.0.91你認爲我應該用嗎?如果我使用它像varchar(1000)它仍然有效?
謝謝。
的文檔here,
注意,有效大小更小,
在MySQL 5.0.3及更高版本中,VARCHAR的有效最大長度爲 是 受限於最大行大小 (65,535字節,它在 所有列中共享)和使用的字符集 。
您必須指定最大尺寸,例如, varchar(1000)
。只是說明varchar
是不夠的。
從在VARCHAR列The CHAR and VARCHAR Types
值是 可變長度字符串。長度 可以指定爲0到 65,535之間的值。 VARCHAR的有效最大長度爲 受限於行大小的最大值(65,535字節,即所有列之間共享的 )以及使用的 字符集。
我之前看到過,因爲它沒有在那裏清楚地提到而感到困惑。仍然感謝你爲我所感謝的努力。 :) – 2010-10-07 08:58:02
在MySQL中,VARCHAR最多接受65535個字符。
根據MySQL的DOC:
TEXT從VARCHAR不同之處在於以下方面:
除了這些差異之外,像使用TEXT一樣使用VARCHAR,所以大小的問題並不是應該讓您在這兩者之間進行選擇,除非您確實需要存儲不超過1000個字符。
你可以保證你自己很容易。 MySQL文檔被公開訪問,它說
作爲性能問題,也沒關係。不是數據類型,但數據關係影響性能。
好吧,是不是varchar意味着動態地利用存儲?如果是的話,我可以將它定義爲VARCHAR,還是必須提及我要使用多少個字符?像VARCHAR(1000) – 2010-10-07 09:00:02