我遇到类似的问题: converting a list of integers into range in python 但我有一点不同。我有一个非常大的mariadb数据库,我有一个工作表要做:
表:
CREATE TABLE blocks (
block_num INTEGER,
data_state TINYINT,
PRIMARY KEY(block_num));
data_state为空的每个条目block_num都必须由python函数处理。
SELECT block_num FROM blocks
where data_state IS NULL
我有两种选择如何处理这些工作。一个是使用一个处理一个条目的函数和一个可以处理大量条目的函数,这个速度要快得多。批量需要是实现这一目标的范围。在sql中是否有办法返回包含converting a list of integers into range in python范围内的范围的列表?
如果我在python中这样做,我会向数据库发出很多请求,或者需要将整个表作为列表导入到python中,这样效率非常低且速度很慢。
编辑: 每个数字都是唯一的,所有数字都是由规则xn = xn + 1
创建的列表:
Block_num data_state
1 Null
2 Null
3 1
4 Null
5 Null
6 1
7 1
8 1
可能是data_state为NULL的范围大约是行中的100个条目。
Min:1
最大:大(如1000000)