大数据处理

优化大数据的处理方法:
  1.一般数据大于百万以上的sql语句里面尽量不要用子查询,in,exists等函数;而把它们转换为一条sql。用group,having,和多表连接进行处理,可以提高查询效率。
   例子:SELECT COUNT(DISTINCT ismi) goods_sum FROM goods_COMPARE
         WHERE ismiIN
             (SELECT DISTINCT ismi FROM goods_COMPARE WHERE g_ID IS NOT NULL
                   AND g_time>= '20120721' and g_time<= '20121025')
           AND ismi IN
             (SELECT DISTINCT ismi FROM goods_COMPARE WHERE eg_ID IS NOT NULL
                   AND g_time >= '20120721' and g_time <= '20121025')
           AND g_time >= '20120721' and g_time <= '20121025'
      
     SELECT COUNT(*) from (
SELECT DISTINCT ismi goods_sum  FROM goods_COMPARE WHERE  g_time        >= '20120721' and g_time <= '20121025'
      group by ismi having Max(eg_ID) IS NOT NULL and max(g_ID ) IS NOT NULL )
   2.一般日数据有百万级以上的表,查询特别慢,需要用日期分区或者其他的有规律的字段进行表分区。同时对于查询的比较频繁的字段创建索引。
   3.对于以上都不能优化查询速率的,建议用线程先要统计的全部统计出来,用一个前台查询表来查询。


4.用分区和索引也可以增加数据库查询效率。

5.现在一般用分布式集群来解决大数据,还有云计算

你可能感兴趣的:(oracle)