客户要求根据查询条件查询数据。但这些数据分布在不同的表中,如果关联查询的话会很慢,因为各个表的数据都非常大。
 那有其他的搜索解决方法吗?
 网上看了下有全库搜索,用的上吗?20多张表关联,基本也算是库中所有的表了。 

解决方案 »

  1.   

    非常感谢!以前从没用过,但刚查了下,确实是个很好的解决办法。
    我可不可以这样理解物化视图:其实就像是一楼说的,是将多个表合成一个表
    上面说的是思路,物化视图是实现方式
    嗯,谢谢,也就说物化视图也可以进行表分区喽?
    可以。物化视图可以基于分区表,本身也支持分区
    由于表的数据量大,我们决定使用oracle全文索引技术来查询,看了文档里支持对一个表的多个字段建立索引字段,
    那么可不可以对多个表的多个字段建索引字段从而可以同时检索多个表上的多个字段里的数据呢?
      

  2.   

    非常感谢!以前从没用过,但刚查了下,确实是个很好的解决办法。
    我可不可以这样理解物化视图:其实就像是一楼说的,是将多个表合成一个表
    上面说的是思路,物化视图是实现方式
    嗯,谢谢,也就说物化视图也可以进行表分区喽?
    可以。物化视图可以基于分区表,本身也支持分区
    由于表的数据量大,我们决定使用oracle全文索引技术来查询,看了文档里支持对一个表的多个字段建立索引字段,
    那么可不可以对多个表的多个字段建索引字段从而可以同时检索多个表上的多个字段里的数据呢?
    第一种情况是属于组合索引;对于第二种,可以在多表的多个字段建立索引,其实就是在多个表上都建立组合索引,但是这样能满足你的要求?
      

  3.   

    非常感谢!以前从没用过,但刚查了下,确实是个很好的解决办法。
    我可不可以这样理解物化视图:其实就像是一楼说的,是将多个表合成一个表
    上面说的是思路,物化视图是实现方式
    嗯,谢谢,也就说物化视图也可以进行表分区喽?
    可以。物化视图可以基于分区表,本身也支持分区
    由于表的数据量大,我们决定使用oracle全文索引技术来查询,看了文档里支持对一个表的多个字段建立索引字段,
    那么可不可以对多个表的多个字段建索引字段从而可以同时检索多个表上的多个字段里的数据呢?
    第一种情况是属于组合索引;对于第二种,可以在多表的多个字段建立索引,其实就是在多个表上都建立组合索引,但是这样能满足你的要求?
    举个例子:
    call ctx_ddl.create_preference ('hczc_lexer', 'chinese_vgram_lexer');
    --多列全文索引
    call ctx_ddl.create_preference('hczc_mds', 'MULTI_COLUMN_DATASTORE');
    --指定检索字段
    call ctx_ddl.set_attribute('hczc_mds', 'columns', 'AJBH, AJMC, FADY,SLSJ,JYAQ,LASJ,PARQ , QSY');
    CREATE INDEX DBA_AJ_JBXX_text ON DBA_AJ_JBXX(AJBH) indextype IS ctxsys.context 
    parameters('datastore hczc_mds lexer hczc_lexer');SELECT * from DBA_AJ_JBXX where contains(AJBH,'张红 and 手段不详')>0;  我有个想法,就是:
    这里指定的索引字段都是表DBA_AJ_JBXX的,现在我还有表B,那我可不可以把表B的字段也加到'hczc_mds'中,从而实现进行
    SELECT * from DBA_AJ_JBXX where contains(AJBH,'张红 and 手段不详')>0;  搜索时,也查询出表B里的数据?