当我创建数据库表时(在我的情况下,它通常是arcgis地理数据库,但我希望所有数据库中的问题都相同)我经常发现很难准确判断文本字段所需的长度,所以我高估了它(50或100)。这会显着影响数据库的性能和磁盘空间吗?是否有任何特别有效的长度(如8,16,32,64)?
或者我应该继续使我的数据库灵活吗?
答案 0 :(得分:0)
字符串实际上不是内存密集型的,每个字符串通常只存在2个字节(支持每种语言),如果你对它们进行某些操作,你应该使用更短的字符串然后更长的字符串的唯一原因,因为字符串是通常只是一个字符数组和更大的字符串,必须做更大的操作。
所以一般来说,为一个字符串保留100个字符会产生200个字节,这个字符为0.2KB,而1000个字符串则小于0.2 MB,所以这不应该是任何问题,除非你将所有内容存储在RAM中一台256MB内存的迷你电脑。
答案:对尺寸的影响不大(实际可见),对性能的中等影响(以纳秒为单位),因为迭代每个字符,例如与长字符串中的另一个字符进行比较可能相对较强,但无需担心直到你将成千上万的字符串与数千个其他字符串进行比较