我不知道描述问题的最佳方式,我只是在寻找正确的方向,或者从哪里开始。 我非常满意答案,这是一个非常有用的链接或伪代码。
我的问题是,我有一个即将达到MS Access硬编码2 GB数据库限制的数据库,而且我不想拆分数据库。
我认为可能的解决方案 - 使数据库在数据存储方面更有效率。我想,但不知道这是否属实,我可以通过将一些字符串字段转换为数字字段来实现。和我在一起......
例如:
我是否正确解释了我的问题?我的潜在解决方案实际上是解决方案我该怎么做呢?
谢谢!
答案 0 :(得分:2)
简短的回答是肯定的,这会减少数据库的大小。您可以拥有第二个表,其中包含" TooLongString"的三个可能值。并按照您的建议将相应答案的ID存储在主表中。然后,您需要在拉出数据时加入这些表,以便检索实际文本而不是ID。
我会首先设置您的新表,然后将ID的新列添加到现有表中。由于只有九个可能的值,我很想手动运行一次UPDATE查询九次,例如如果新表中的第一个字符串是" MyFirstString"使用ID 1,您可以运行" UPDATE existingTableName SET newColumn = 1 WHERE oldColumn =' MyFirstString'"。对九个值中的每一个执行此操作,然后您可以从表中删除旧的字符串列。