PyQt中PDF呈现的CPU峰值,然后冻结

2024-05-21 02:01:38 发布

您现在位置:Python中文网/ 问答频道 /正文

有一次,我的应用程序查询MySQL数据库,并使用以下代码获取300行:

cur.execute('''
    select 
        ime, brPredmeta, statusStr, sudskiBr, sudija,
        datumRasprave,statusPredmeta, zaduzen,datumZaduzenja
    from predmeti
    order by ime
    ''')
for row in cur: #extract data from variables
    ime, brPredmeta, statusStr, sudskiBr, sudija, datumRasprave, statusPredmeta, zaduzen, datumZaduzenja = row

print(row)几乎立即在控制台窗口中显示元组。在数据提取之后,我使用简单的HTML创建PDF页面的3个部分:页眉、正文和页脚。所有3个都是一个包含8-10列的simpe表。但是Body有300行,因为我是这样附加的:

^{pr2}$

这个完全相同的代码在SQLite中运行得很顺利。自从我今天改用MySQL,它就冻结了我的整个程序。CPU峰值达到100%(4核i3),RAM使用量超过100MB(从启动时的24MB)。一分钟后,我终止了这个过程。在

当我将此函数与生成较少行(从60-120)的其他参数(查询略有不同)一起使用时,一切都很顺利。在

如果我跳过“打印预览”对话框,直接打印PDF文件,一切正常,没有冻结,没有任何东西。

我会添加任何你可能需要的额外信息。谢谢你的阅读。在


Tags: 代码frompdfmysqlrowcurimezaduzen