我正在尝试解决MySQL上的性能问题,因此我想创建一个较小版本的表来使用.当我向查询添加LIMIT子句时,它从大约2秒(对于完整插入)到天文(42分钟).
mysql> select pr.player_id, max(pr.insert_date) as insert_date from player_record pr
inner join date_curr dc on pr.player_id = dc.player_id where pr.insert_date < '2012-05-15'
group by pr.player_id;
+------------+-------------+
| 1002395119 | 2012-05-14 |
...
| 1002395157 | 2012-05-14 |
| 1002395187 | 2012-05-14 |
| 1002395475 | 2012-05-14 |
+------------+-------------+
105776 rows in set (2.19 sec)
mysql> select pr.player_id, max(pr.insert_date) as insert_date from player_record pr
inner join date_curr dc on pr.player_id = dc.player_id where pr.insert_date < '2012-05-15'
group by pr.player_id limit 1; …Run Code Online (Sandbox Code Playgroud) 我有一些通过cron运行的python脚本,当使用绝对路径调用脚本时,它们不再正确退出.它们将一直挂起,直到该过程终止.我相信它发生在我将/ var和/ home移动到另一个分区之后.
我检查了环境变量并且看不到任何明显错误,这在使用cron或bash子shell运行时发生,但在直接运行时不会发生.
如果我把它作为子shell运行它会挂起,直到我杀了它(ctrl-c),然后给我输出.
[wotstats@rock test]$ echo 'assert 0==1, "fails"' > test.py
[wotstats@rock test]$ /bin/bash -c "/usr/bin/python /var/home/wotstats/test/test.py"
^CTraceback (most recent call last):
File "/var/home/wotstats/test/test.py", line 1, in <module>
assert 0==1, "fails"
AssertionError: fails
Run Code Online (Sandbox Code Playgroud)
如果我不调用脚本,它会按预期终止而不会挂起:
[wotstats@rock test]$ /bin/bash -c "echo 'assert 0==1, \"fails\"' | /usr/bin/python"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError: fails
Run Code Online (Sandbox Code Playgroud)
发生异常时,我会立即收到日志错误:
Dec 9 13:33:44 rock abrt: detected unhandled Python exception in '/var/home/wotstats/test/test.py'
Run Code Online (Sandbox Code Playgroud)
我根据输入运行了一些测试,发现即使调用/test.py和以root身份运行时也会出现此问题.我也尝试/ root和/ usr具有相同的效果.
这里询问了类似或相同的问题,并通过重新启动解决; 如果可以的话,我宁愿弄明白并避免重启.