java吧 关注:1,269,965贴子:12,777,489

回复:一次性查询整张表到内存计算会有问题吗

只看楼主收藏回复

数据多了会内存溢出


IP属地:湖南来自Android客户端17楼2022-06-14 18:15
回复
    存个redis不就行了么


    IP属地:四川来自Android客户端18楼2022-06-14 18:22
    回复
      2025-07-19 05:43:06
      广告
      sql里先算一些粗一点的统计数据出来,再到内存里二次统计sql统计的数据


      IP属地:湖北来自Android客户端19楼2022-06-14 18:38
      回复
        可以新建一张预处理表吧


        来自Android客户端20楼2022-06-14 19:35
        回复
          那得看多少数据啊


          IP属地:四川来自Android客户端21楼2022-06-14 19:50
          回复
            不知道啥需求啥数据量数据是什么样的每天的有变化的数据是什么样的。通用解决方案的话,一次性任务可以弄个从库备份库上慢慢玩,定时的离线统计的话,最好导到hive里玩


            IP属地:北京来自Android客户端22楼2022-06-14 20:56
            回复
              我见过内存比数据库本身还大的服务器


              IP属地:浙江来自Android客户端23楼2022-06-14 21:54
              回复
                不会写存储过程?


                IP属地:广东来自iPhone客户端24楼2022-06-15 00:15
                回复
                  2025-07-19 05:37:06
                  广告
                  如果sql很难写,表结构有问题


                  IP属地:北京来自Android客户端26楼2022-06-15 03:09
                  回复
                    考虑是不是需要重新分表


                    IP属地:北京来自Android客户端27楼2022-06-15 06:46
                    回复
                      分批处理,一次处理一部分


                      IP属地:广东来自Android客户端29楼2022-06-15 08:33
                      回复
                        这不就是个算数问题?自己算算数据量会不会oom不结了


                        IP属地:广东来自手机贴吧30楼2022-06-15 08:38
                        收起回复
                          多了我觉得你就不是因帅判刑而是因系统崩溃而判刑了


                          IP属地:上海31楼2022-06-15 09:33
                          回复
                            每次都是全量数据计算吗,不能保存前边的计算结果,进行增量计算再合并历史结果来处理么


                            IP属地:广东来自Android客户端32楼2022-06-15 10:43
                            回复
                              2025-07-19 05:31:06
                              广告
                              create table node
                              (
                              id int PRIMARY KEY AUTO_INCREMENT,
                              name varchar(20),
                              next int
                              );
                              insert into node VALUE (1, '1', 2);
                              insert into node VALUE (2, '2', 3);
                              insert into node VALUE (3, '3', 4);
                              insert into node VALUE (4, '4', 5);
                              insert into node VALUE (5, '5', 6);
                              insert into node VALUE (6, '6', 7);
                              insert into node VALUE (7, '7', 8);
                              insert into node VALUE (8, '8', null);
                              insert into node VALUE (111, '111', 222);
                              insert into node VALUE (222, '222', 333);
                              insert into node VALUE (333, '333', 444);
                              insert into node VALUE (444, '444', 555);
                              insert into node VALUE (555, '555', null);
                              SELECT id, name, next
                              FROM node
                              INNER JOIN (
                              SELECT 111 AS a # 111换成根节点id
                              UNION
                              SELECT @next_id AS a
                              FROM node,
                              (SELECT @next_id := 111) n # 111换成根节点id
                              WHERE id = @next_id
                              AND @next_id := next
                              # 其他条件
                              ) ids
                              ON node.id = ids.a;
                              结果:
                              +-----+------+------+
                              | id | name | next |
                              +-----+------+------+
                              | 111 | 111 | 222 |
                              | 222 | 222 | 333 |
                              | 333 | 333 | 444 |
                              | 444 | 444 | 555 |
                              | 555 | 555 | NULL |
                              +-----+------+------+
                              递归查询的大概语句是这样,不知道缝缝补补后能否满足你的需求


                              IP属地:北京33楼2022-06-15 10:50
                              收起回复