目前需要对通过的实时数据进行查询比对,
目前每天的数据量高峰是500万左右,且最快会在6小时内传完,但要实时
将每条数据与数据库进行查询,数据库的数据量50万,采用timesten来进行性能提高,
结果发现即使tt中的数据量只有10万时,查询的速度也需要6 7秒,而oracle很快即完成。跟踪tt的查询计划,发现查询没有用到索引(oracle没有建立索引也很快)。我的查询语句很长,
有许多层签套的and 和or语句,但没有链接,只查询一个表,因此可能会用到tt中的很多索引,不知为什么
tt一个都没有用上。查询的情况是这样的,
数据库中的字段:a1,a2,a3,a4,a5,a6,....a20 ,type.
a1~a20为数据库中可能需要与实时数据比对的字段,
type,长度为20 定义需要比对哪些字段,如 type='1100.......1',则比对字段为a1,a2,a20。我是这样实现的首先distinct type 找出总共有多少比对类型;
然后根据每种类型生成对应的查询语句,最后所有的语句or一下。
结果如果type很多,则查询语句很长,数据量大的情况,希望比对速度在50毫秒以内,
请问大家有什么好的办法?tt如何能有效用起来呢?很紧急。谢谢