取消优化MySQL

时间:2011-05-24 14:56:30

标签: mysql

是否有一个简单的命令可以让我调整一个MySQL数据库实例来运行

我正在研究记录和重放数据库交互的代码。它所做的一件事就是跟踪给定查询/命令执行的时间,如果它在重放期间运行得非常慢,则会发出警告。当然,如果你不测试它,它不起作用;我正在尝试为此功能进行自动测试。我可以对我的测试数据库做些什么来搞砸性能?我需要做的就是可靠地为任何给定的查询添加2+毫秒,我就设置了。

2 个答案:

答案 0 :(得分:9)

如果您只想测试长查询,请执行以下操作:SELECT SLEEP(1);

如果您想要做的就是测试您的持续时间检测是否有效,那么查询本身应该是什么并不重要。

(我知道这打破了真正的“重播”方面,但在“回放”期间将SLEEP(1)添加到某些选择语句中应该是微不足道的。)

编辑:

您可能更喜欢的第二个想法:从另一个连接创建对表的锁定。运行脚本。等一会儿。删除该锁。它不会涉及到任何回放查询的混乱。

答案 1 :(得分:1)

基本程序如下:

  1. 开始交易

  2. 做你的sql东西

  3. 在perl或sql中睡2ms

  4. 提交

  5. 密钥是开始/提交部分:它会保留您获得的任何锁定,使得事情变得如您所愿。“

    需要考虑的其他测试:

    1. 在两个流程中开始交易

    2. 在第一个过程中执行你的sql东西

    3. 在第二个过程中执行你的sql工作

    4. 在每个流程中执行更多sql工作

    5. 提交每个流程