Sql 存储文件路径的有效方法

Sql 存储文件路径的有效方法,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,目前我有一个表格,格式如下/Desc: ColumnName ColID PK IndexPos Null DataType ID 1 1 N VARCHAR2 (1 Byte) FILEPATH 2 N VARCHAR2 (127 Byte) 如您所见,ID列的长度只有1字节,我们只能存储36个不同的文件路径。我有超过35个不同的文件路径需要

目前我有一个表格,格式如下/Desc:

ColumnName  ColID   PK  IndexPos    Null    DataType
ID          1                   1   N       VARCHAR2 (1 Byte)
FILEPATH    2                       N       VARCHAR2 (127 Byte)
如您所见,ID列的长度只有1字节,我们只能存储36个不同的文件路径。我有超过35个不同的文件路径需要存储和检索。我知道增加ID的长度可以解决这个问题,但我也想知道/建议有没有有效的方法来处理这个问题


谢谢

断言您只能在表中存储35个不同的值是不正确的,因为
varchar2
字符不限于字母和数字(即使是,您也会有26个字母+10个数字+1个空字符串=37,而不是35个可能性)

如果需要存储更多的路径,例如40或50,可以将密钥大小写混合,因此
'a'
'a'
将引用不同的路径。这将立即给你26个额外的可能性


扩展超过63的限制有点困难,因为你需要在混合中加入特殊角色。但是,单个字符的理论最大值为256加上一个空字符串的组合。

您可以在一个字节中存储256个值。你从哪里得到35分?你这里所说的“高效”是什么意思;如果这个ID是合成的(看起来是),为什么你选择了那个数据类型而不是一个数字?@AlexPoole[a-Z&0-9=36],它怎么会是256?或者可能是我描述错了。一个文件路径将具有不同的/唯一的ID,这将有助于检索数据。例如:从XXX表中选择Filepath,其中ID='A';。因此,程序将查看该路径并选择该文件;它们是可以使用的字节值的一小部分。所有数据都可以放在一个字节中(还有一个备用位!)。即使您被限制为可打印字符(您没有提到),也要比36个字符多得多;ASCII值0x20到0x7e都是可打印的。。。如果受限制,则需要更多字节或不同的数据类型。“你还没说‘高效’对你意味着什么呢!”亚历克斯普尔抱歉我的不好。这是因为我的知识水平低,我没有提到太多。有效的方法是我应该增加长度还是使用大写和小写(我刚刚才知道)等等,等等:)很好的解释。因此,即使不做任何事情,我也可以将256加一个组合作为空字符串。谢谢你的信息,我得重新考虑一下。但是,你认为仅仅增加长度而不是使用特殊字符是一个好方法吗?@Developer我会选择两个字符的固定长度代码,因为一旦进入区分大小写和不可打印的字符,手动运行和解释数据库查询会变得更难。明白了吗,谢谢你的建议/帮助。