VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 750|回复: 6

咨询一个mysql数据并发,造成数据统计不准确的问题,特急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[复制链接]

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-4 18:10:01 | 显示全部楼层 |阅读模式
咨询一个mysql数据并发,造成数据统计不准确的问题,特急
我用的是jsp+mysql,制作了一个网站统计,统计插入统计代码到您网站后,统计你总共的浏览IP数据,和每天的浏览IP总数,每天每小时的浏览IP总数.

但发现统计后,每小时加起来的数,对不起每天的数据,每天加起来的数据,对不上总的浏览IP数,我用的是mysql数据库,我用的是mysql MyISAM格式

我的程序代码如下:


是不是mysql同时的并发数据量大,还是什么原因,应该如何解析这数据能同步,数据各个表统计的数据加起来能够互相的符合,互相的准确一致

我更建立了三张表,一个是用户表,里面有一个总的点出量;

还有一个是日表,统计表每个用户日点出量表

还有一个是小时表,统计每个用户每小时的点出量表



     //统计总的点出量


                dbc.prepareStatement(
                    "update users set outscore=outscore+? where username=?");
                dbc.setDouble(1, unitscoredouble);
                dbc.setString(2, outname);
                dbc.executeUpdate();
                //统计每天点出量
                dbc.prepareStatement(
                    "select username from userdayhistory where username=? and dotyearmonth=? and dotday=?");
                dbc.setString(1, outname);
                dbc.setInt(2, yyyyMM);
                dbc.setInt(3, d);
                rs = dbc.executeQuery();
                if (rs.next()) {
                  dbc.prepareStatement(
                      "update userdayhistory  set  outscore=outscore+? where username=? and dotyearmonth=? and dotday=?");
                  dbc.setDouble(1, unitscoredouble);
                  dbc.setString(2, outname);
                  dbc.setInt(3, yyyyMM);
                  dbc.setInt(4, d);
                  dbc.executeUpdate();
                }
                else {
                  try {
                    dbc.prepareStatement("INSERT INTO userdayhistory (username,outscore,putscore,dotyearmonth,dotday) VALUES (?,?,?,?,?)");
                    dbc.setString(1, outname);
                    dbc.setDouble(2, unitscoredouble);
                    dbc.setInt(3, 0);
                    dbc.setInt(4, yyyyMM);
                    dbc.setInt(5, d);
                    dbc.executeUpdate();
                  }
                  catch (SQLException ex7) {
                    System.out.println("494");

                  }
                }
                //统计每小时点出量
                dbc.prepareStatement(
                    "select username from userhourhistory where username=? and dotyearmonthday=? and dothour=?");
                dbc.setString(1, outname);
                dbc.setInt(2, yyyyMMdd);
                dbc.setInt(3, H);
                rs = dbc.executeQuery();
                if (rs.next()) {
                  dbc.prepareStatement(
                      "update userhourhistory  set  outscore=outscore+? where username=? and dotyearmonthday=? and dothour=?");
                  dbc.setDouble(1, unitscoredouble);
                  dbc.setString(2, outname);
                  dbc.setInt(3, yyyyMMdd);
                  dbc.setInt(4, H);
                  dbc.executeUpdate();
                }
                else {
                  try {
                    dbc.prepareStatement("INSERT INTO userhourhistory (username,outscore,putscore,dotyearmonthday,dothour) VALUES (?,?,?,?,?)");
                    dbc.setString(1, outname);
                    dbc.setDouble(2, unitscoredouble);
                    dbc.setInt(3, 0);
                    dbc.setInt(4, yyyyMMdd);
                    dbc.setInt(5, H);
                    dbc.executeUpdate();
                  }
                  catch (SQLException ex11) {
                    System.out.println("9994");

                  }
                }
回复

使用道具 举报

1

主题

4

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-4 23:15:01 | 显示全部楼层
是不是要启用事务?
回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-1-14 20:45:01 | 显示全部楼层
在不在啊,要怎么启用事务啊


回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-1-17 18:45:01 | 显示全部楼层
回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-1-20 23:18:01 | 显示全部楼层

回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-23 19:09:01 | 显示全部楼层
你自己的设计不合理。
回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-2-9 14:15:01 | 显示全部楼层
要怎么设计啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表