0
A VARCHAR(1000)
列將包含在WHERE
子句中,例如,VARCHAR上的MySQL索引(1000)
WHERE propertyValue IN ('sample, ...')
這些值將大多是唯一的,但不保證/約束。
我想索引這個,我想知道最好的方法是什麼。我意識到像這樣索引列會使插入速度變慢。
會將該值的散列值存儲爲CHAR(64)
,並且索引和搜索速度會更快?我的想法是一個固定大小的值,比較適合索引。
我使用5.1和INNODB
使用INDEX時,所有INSERT語句都需要更新INDEX,這可能會降低INSERT語句的速度,所以在使用VARCHAR(1000)在列上創建INDEX時應謹慎行事。根據您在本專欄中存儲的內容,在使用WHERE x IN(a,b,c)時,可能需要使用完整的INDEX,而不是部分INDEX。 – Cninroh 2013-05-02 15:10:11