0
假设我在RDBMS中有两个表,它试图根据不同的密钥规范对相同数据的存储和检索进行建模。表1存储在一个单一的字符列中的整个密钥,表2存储在多个列的键,例如:一列键或多列键?
表1:键=字符串,值=数据
表2:COL1 =字符串,COL2 =字符串,值=数据
表1键保存与col1和col2的组合相同的信息,以及潜在的分隔符,例如。 key =“NASDAQ/SUNW”,col1 =“NASDAQ”,col2 =“SUNW”
我对高效的数据检索感兴趣。使用Table1比Table2更有效吗?
使用正则表达式查询,例如“。* SUNW。*”,会更昂贵吗? – andrewz
是的。如果SUNW位于单独的列中,则可以对列进行索引,然后执行B树搜索(快速)以查找具有该值的所有行。但是如果它与其他东西一起被埋在一列中,你必须做一个表扫描(慢)来找到它们。 –