是否最好将所有列类型的表格设为“文本”

时间:2014-04-14 10:40:56

标签: mysql database-design myisam

我是Web应用程序开发的新手。我正在使用 php + mysql ,所以只想检查创建数据库模式的最佳和最安全的方法。 我有一个包含15列的表,第一列是唯一的id,剩下的都是“text”类型,我打算在每列中放入大约1-20kb的数据。

它是好是坏还是不应该那样?那么有人可以帮我一下吗?

我正在使用引擎类型 MYISAM

3 个答案:

答案 0 :(得分:0)

最好的想法取决于您使用它的目的。当大小合理时,VARCHAR会更快,并且还取决于您使用的硬件和数据。您几乎应该尝试将文本格式消息存储为TEXT,而将字符串属性存储为VARCHAR。

TEXT列不会存储在内存中,必须从磁盘读取,这要慢得多。请检查此reference

同时检查Blob Storage in Innodb

答案 1 :(得分:0)

出于某种原因存在专用数据类型。一些随机的事情,你无法可靠地(或根本不能做)大量文本:

  • 数学
  • 日期计算
  • 适当的索引
  • 确保最低限度的数据完整性
  • 数字排序

数据库不仅仅是一个愚蠢的存储系统。

答案 2 :(得分:0)

有时它必须使用Text类型。但是尽可能经常使用varchar而不是od text / mediumtext / longtext等。

Usung文本将对性能产生影响。 对文本类型的查询较慢。 具有文本类型的数据不会缓存在内存中。