zoukankan      html  css  js  c++  java
  • 使用集合的思路解决“从数字列表中选择在数据库表的id字段中没有对应项的那些”问题

      最近做业务遇到一个问题:我从其他渠道获取到一批id列表list1,然后想判断一下,这些id中有哪些是本地数据库中没有的,找到这些在本地数据库中没有的id然后构建详情数据insert到本地数据库中。

      从网上找了一个issue,给出解决思路不是很理想,因为我这个list1的大小是几万个,不可能手动去构建。

      经过跟同事的讨论想出了使用集合的差集运算解决这个问题(自己想问题容易钻牛角尖,还是建议多跟同事讨论)。

      解决的具体思路是这样的:

      首先将从其他渠道获取的list1转换成集合1(set1),然后去本地数据库中找到对应表中的所有现存的id组合成的集合2(set2),然后做集合的差集运算(注意是set1-set2),这样就得到了要往数据库中insert的这些集合了。

      下面是自己使用ipython写的一个demo:

      对了,本文只提供解决问题的思路,具体业务代码的编写需要大家自己实现。

  • 相关阅读:
    Flutter Platform Channels
    catch socket error
    global position
    aria2 添加任务后一直在等待,不进行下载是什么情况?
    通知
    rename file
    长按弹菜单
    Linux命令行下如何终止当前程序?
    IOWebSocketChannel.connect handle errors
    writeAsBytes writeAsString
  • 原文地址:https://www.cnblogs.com/paulwhw/p/13750119.html
Copyright © 2011-2022 走看看