数据库(mysql)数据类型选择:文本与二进制

时间:2010-07-12 17:27:43

标签: mysql database-design

与BLOB或BINARY数据类型相比,选择TEXT数据类型的权衡是什么?我不打算对列进行索引或在WHERE子句中使用它,它只是数据库中的数据,恰好是文本的。如果我选择的数据类型具有性能或存储优势,那么最好知道......谢谢!

1 个答案:

答案 0 :(得分:4)

简答:如果是文本,请使用TEXT数据类型。

长答案:TEXT列被视为文本,即它们具有指定的字符集。如果您在TEXT值之间进行比较,它将使用您的字符集的排序规则,而不是仅仅比较它们的数值。另一方面,BLOB列只是字节数组;他们没有定义的字符集。如果你要存储unicode(或其他'宽字符'编码),你肯定会想要使用TEXT,因为你的数据基本上对数据库是不透明的,除非你这样做。

它们都可以存储相同数量的数据(当然,取决于您使用的是哪种子类型),但是由于不存在任何文本,因此您可能会看到使用BLOB进行二进制数据的性能提升很小与之相关的处理。