快速查询数据库内容的方法(协程和limit和signal信号)

如果数据库主键的id是自增id的话,就可以使用协程的生产者和消费者模式
让一个生产者无限制的往队列里面不停的筛入自增id ,使用 i = 0, 执行一次 i +=1
然后多个消费者去拿队列里面自增id,然后根据id去数据库查询数据

如果数据库主键的id不是自增的,那么可以通过limit和order结合查询数据库
可以使用协程也可以不使用协程
查询的时候使用order by id asc 让id排序,然后第一次用where id > "" 去查询 limit 返回指定条记录
然后解析结果的时候,用一个变量保存当前解析的id,直到最后一个结果或者收到终止命令,保存当前解析到的id
方便下次继续从该断点继续查询数据库.
第二次查询的时候就不用where id > "" ,而是使用第一次保存的变量id作为起始值,再去查询指定的记录

终止命令的获取用signal模块.
如果是异常的退出,可以提前设置一个终止标记,执行逻辑前都检查这个终止标记
然后捕获异常后就让终止标记设为true,从而程序正常停止,而且你可以在停止之前做一些你想要的处理工作.

你可能感兴趣的:(快速查询数据库内容的方法(协程和limit和signal信号))