因为涉及到会有表合并等问题,和数据脱机使用。我想使用如下格式做主键:年月日时分秒毫秒+GUID, 50个字符长。我计算了一下,在百万记录下,主键在理论上会比Number类型多占用5M的磁盘空间,真实的存储占用情况还不清楚。
如果说磁盘占有率在百万记录只增加10~50M范围内可以接受的话,我想请问在查询的时候,您是否有过对比的经验,能相差多少呢?Oralce在主键为 数值型 和字符型在查询对比的时候,都采用二进制对比,还是其它的什么方式呢?或者,我在哪里可以找到相关的资料,谢谢。

解决方案 »

  1.   

    就你的这个问题来说,用number会比用varchar2效率高.
    如果一定要用varchar2的话,其实可以考虑使用复合主健.
      

  2.   

    我还没有决定用Varchar2,其实主要有这样一个应用.总公司有几个大的仓库,分销公司的数据都来自于总公司。但是有时候分销公司的工作环境没有网络连接。他们需要维护自己的数据并能够和总公司数据库同步。还有的时候工作人员用手持设备在工作现场操作。您说这种情况下,可以用number来实现吗?如果能,怎样比较合理呢? 谢谢
      

  3.   

    wow, 30%?!这个结果已经足以让人放弃字符了。因为我的应用可能会达到十万/天,多谢,多谢