V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
asd8423
V2EX  ›  MySQL

关于 Mysql 查询的疑问

  •  
  •   asd8423 · 2021-12-30 14:35:51 +08:00 · 2786 次点击
    这是一个创建于 1088 天前的主题,其中的信息可能已经有所发展或是发生改变。
    select count(1) as count from t_parcel where t_user_id = '276' and t_present_id = '1' and t_type = '2'
    

    在多次连续查询数据表的条数时,有时会查询返回 0 ,求教下为什么会出现这种情况。

    背景:

    1. 这是赠送礼物前判断礼物是否足够执行的 SQL
    2. 测试环境,数据量并不大 而且数据表数据条数不变 正常查询结果为 5000
    3. 开始以为是业务层面出现的问题,后台在 Mysql 客户端测试也会出现
    4. Mysql 版本 4.7.28
    14 条回复    2021-12-31 11:16:41 +08:00
    thetbw
        1
    thetbw  
       2021-12-30 14:50:52 +08:00
    加个事务试试,或者 select for update
    asd8423
        2
    asd8423  
    OP
       2021-12-30 15:04:53 +08:00
    @thetbw 试咯 不太行
    shanghai1943
        3
    shanghai1943  
       2021-12-30 15:19:35 +08:00
    实在不行就试着不要在 sql 里 count(),而是先把明细数据通过 select * 都查出来,然后自己 count 看看有多少数据,这样就可以知道哪些数据多查出来了。多对比几次,应该就能知道原因了。
    MoYi123
        4
    MoYi123  
       2021-12-30 17:23:28 +08:00
    Mysql 版本 4.7.28? 这是什么远古版本吗? 还是 mysql 有其他的版本号?
    thinkershare
        5
    thinkershare  
       2021-12-30 18:12:49 +08:00
    这么古老的 MySQL 是个啥鬼? MyISAM 这种存储引擎吗?
    zoharSoul
        6
    zoharSoul  
       2021-12-30 19:41:59 +08:00
    mysql 还有这个版本的吗?
    SmartKeyerror
        7
    SmartKeyerror  
       2021-12-30 20:11:39 +08:00
    Google 了一下,4.7 版本应该是在 2005 年左右 GA ,既感叹这古老的版本,又感叹这项目在不升级底层存储的情况下竟然能跑 16 年
    ksedz
        8
    ksedz  
       2021-12-30 20:46:53 +08:00
    5.7.28 ?
    leafre
        9
    leafre  
       2021-12-30 21:02:12 +08:00
    Mysql 版本 4.7.28 ?
    hzjiyu
        10
    hzjiyu  
       2021-12-30 21:08:29 +08:00
    @SmartKeyerror 应该是 5.7.28 。能看到的 MySQL 5.1 最低了,项目寿命十年成考古了。我认为不存在有 4.7.28 这种。你 Google 能 Google 到这个版本 tag ?
    fanshaohua
        11
    fanshaohua  
       2021-12-30 23:20:12 +08:00
    我也怀疑是 transaction ,并且数据本身同时被修改的问题
    没可能数据库会直接返回一个错误的 count.
    shyangs
        12
    shyangs  
       2021-12-30 23:32:45 +08:00
    @SmartKeyerror
    @hzjiyu
    MySQL v4 系列, 只有 v4.0 和 v4.1 沒有 v4.7
    siweipancc
        13
    siweipancc  
       2021-12-31 09:18:34 +08:00 via iPhone
    试试看计算主键,要是统计 bug 就好玩了
    SmartKeyerror
        14
    SmartKeyerror  
       2021-12-31 11:16:41 +08:00
    @hzjiyu 这我还真没注意
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4160 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 05:31 · PVG 13:31 · LAX 21:31 · JFK 00:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.