【发布时间】:2016-09-02 07:07:28
【问题描述】:
企业应用程序(使用休眠)中数据库中的列的文本数据非常庞大,在将 varchar 大小增加到特定数字后,我别无选择,只能将数据类型更改为文本。任何人都可以帮助我了解它如何影响我的申请。我需要处理其他任何事情还是只更改数据类型有效?
【问题讨论】:
企业应用程序(使用休眠)中数据库中的列的文本数据非常庞大,在将 varchar 大小增加到特定数字后,我别无选择,只能将数据类型更改为文本。任何人都可以帮助我了解它如何影响我的申请。我需要处理其他任何事情还是只更改数据类型有效?
【问题讨论】:
您应该使用 TEXT。 虽然这与 VARCHAR 是一回事:
如果列的声明类型包含任何字符串“CHAR”, “CLOB”或“TEXT”,则该列具有 TEXT 亲和性。请注意, 类型 VARCHAR 包含字符串“CHAR”,因此被分配了 TEXT 亲和力
另请注意
注意类型后面括号中的数字参数 名称(例如:“VARCHAR(255)”)被 SQLite 忽略 - SQLite 不会 施加任何长度限制(除了大的全局 SQLITE_MAX_LENGTH 限制)字符串、BLOB 或数字的长度 价值观。
您的应用程序可以很好地处理数据类型文本。您不需要处理任何事情
【讨论】:
如果您想确定,请先创建备份数据库以防万一, 或者至少备份/复制您要进行更改的表
对我来说,我也更喜欢 varchar 而不是 text 因为 varchar 过去使用的内存比 text 小
ex : address (100) , 仅使用 80 个字符的记录,将在 varchar 中保存为 80 个字符 在文本中,将保存为 100 个字符
【讨论】: