美文网首页
mysql 差异数据排查

mysql 差异数据排查

作者: answer6 | 来源:发表于2018-06-15 20:52 被阅读0次

    先说场景吧:
    1.有一个 get_items 接口,基于旧表 table1 ,查询数据的时间很慢;
    2.现在需要对 get_items 接口进行优化,即 get_items_v2 接口;基于新表 table2;
    3.table2 是基于 table1 转换生成的。因为是测试站点,有脏数据的存在,两个表中的数据有个别差异。需要在几百条数据中查询找到 table1 存在而 table2 不存在的脏数据,在去挨个查找没有查出来的原因。


    主要用到的 sql

    1. 用查询语句创建出一个新的表 (tab1_query 和 tb2_query 可能是四五个表联查)
    • create table tmp_pro_tbl_v1 as select * from tb1_query
    • create table tmp_pro_tbl_v2 as select * from tb2_query
    1. 查询差异数据,其中 product_id 数据是两个表共有的,且一个数据只会有唯一的一个 product_id
    • select * from tmp_pro_tbl_v1 where product_id not in (select product_id from tmp_pro_tbl_v2);、

    先把两个接口的查询语句各自创建一个独立表,再去查询在表1里面但是不在表2里面的数据,这样就把两个接口的 sql 查询出来的差异数据找出来,就可以根据数据关系去查找 bug 了。

    相关文章

      网友评论

          本文标题:mysql 差异数据排查

          本文链接:https://www.haomeiwen.com/subject/ddameftx.html