【发布时间】:2017-08-04 09:43:40
【问题描述】:
我有以下 python 源文件来从 MySQL 数据库中检索行。问题是在订阅者表中检索的行太多。我怎样才能限制小块行来检索和处理等等?
class subinfo(peewee.Model):
sub_id = peewee.IntegerField()
active = peewee.BooleanField()
sub_type = peewee.IntegerField()
sub_cat = peewee.TextField()
class Meta:
database = locdb
class subscriber(peewee.Model):
sub_id = peewee.IntegerField(unique=True, primary_key=True)
sub_start = peewee.DateTimeField()
sub_end = peewee.DateTimeField()
ref_id = peewee.BigIntegerField()
class Meta:
database = locdb
for row in subscriber.select():
if(row.sub_start >= peewee.datetime.datetime.now()):
sub1, created = subinfo.get_or_create(sub_id=row.sub_id, active=True)
if(created == False & sub1.active == False):
q = subinfo.update(active=True).where(sub_id=row.sub_id)
q.execute()
else:
subinfo.get_or_create(sub_id=row.sub_id, active=False)
【问题讨论】:
-
我没用过peewee,不过你也tag MySql。解决方案就是将
LIMIT添加到您的SELECT,如SELECT field FROM table LIMIT 4。这有什么好处吗?