MySQL select查询不使用limit、offset参数

2024-09-28 22:54:09 发布

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

我在WindowsVista上运行MySQL5.1。该表使用MyISAM,大约有1000万行。它用于存储用户在网站上发布的文本消息。在

我试着对它运行以下查询

query = "select id, text from messages order by id limit %d offset %d" %(limit, offset)

其中,limit设置为固定值(在本例中为20000),并且偏移量以20000为步长递增。在

当offset=240000时,这个查询进入一个无限循环。这个特定值而不是任何其他值。在

我将这个查询隔离到一个脚本中并运行它,得到了相同的结果。然后我尝试直接运行最后一个查询(offset=240000),它成功了!在

然后,我尝试在mysql客户机中直接执行相同的查询,以确保错误不在python DB accessor模块中。所有查询都返回结果,但偏移量为240000的查询除外。在

然后我查看了mysql服务器日志,看到了以下内容。在

^{pr2}$

这可能意味着,当我停止python进程时(出于沮丧),mysqld进程正在“排序”。当我看着我的.ini文件,我看到了很多MAX选项。我目前正在试验这些,但只是把它扔出去。在

感谢任何帮助!在


Tags: text文本id消息进程网站mysqlquery