我在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选项。我目前正在试验这些,但只是把它扔出去。在
感谢任何帮助!在
你用myisamchk检查过表吗?在
相关问题 更多 >
编程相关推荐