如果我們有這樣的表:VARCHAR或文本 - MySQL的性能
create table x(
id int primary key,
something_else_1 int,
something_else_2 int,
something_else_3 int,
char_data text, -- or varchar(1000)
);
此表將在除char_data所有字段進行查詢。
大多數查詢將類似於:
select id, something_else_1
from x
where something_else_2 = 2 and something_else_3 = 5;
問題是 - 如果我們有索引,等等,
什麼樣的配置會更好 - 文本或varchar。
只是最後一個音符 -
我知道我可以分離到這兩個表,在這種情況下買的分離是不是最好的辦法,因爲除了斑點的所有字段將會像唯一索引或類似。
相關:http://stackoverflow.com/questions/2023481/mysql-large-varchar-vs-text http://stackoverflow.com/questions/3408930/does-anyone-have-considerable-proof-that- char-is-faster-than-varchar http://stackoverflow.com/questions/243252/how-much-more-inefficient-are-text-blobs-than-varchar-nvarchars –
快速回答是varchar會更快,由於MySQL如何在內部處理TEXT/BLOB。在事情的宏偉計劃中,你不應該注意到巨大的表現處罰,或者 - 你不會,除非你真的非常忙碌的網站。 –