首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使我不使用事务,死锁也会影响我吗?

问即使我不使用事务,死锁也会影响我吗?
EN

Stack Overflow用户
提问于 2011-10-10 21:09:19
回答 2查看 422关注 0票数 0

出于几个原因,我们希望从MyISAM切换到InnoDB,但我们不打算将事务与BEGIN/COMMIT等一起使用。

是否存在仅使用SELECT、INSERT、UPDATE和DELETE就会发生死锁的情况?我们使用了一些连接,当然,我们有很多索引。

如果我将所有的表都转换为InnoDB,我如何在真实的模拟中测试站点?如果只有几个人在网站周围点击,就不会像100多个用户在线点击、添加、删除等一样。你有推荐的工具来做这件事吗?

提前感谢您的任何提示!:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-10 21:22:45

简而言之,死锁的发生是因为(默认设置为AUTOCOMMIT = ON,即)每条语句(SELECT、UPDATE、INSERT、DELETE)在InnoDB中都被视为单独的事务-并在执行后立即自动提交。

请参阅:

但是,正如@Johan指出的那样,它们在InnoDB中应该比MyISAM中的问题更少,因为在任何可能的地方都使用行级锁定。

另请查看@MarkR在此问题中的答案,以了解更多详细信息:

对于压力测试,我听说过但还没有使用过Super Smack,它是一个针对MySQL和PostgreSQL的基准测试和压力测试工具。

但由于大多数用户可能会使用您的web界面,因此任何针对此类界面的压力测试工具都可能足以满足您的需求。

票数 0
EN

Stack Overflow用户

发布于 2011-10-10 21:17:07

你在这里有两个完全不同的问题。

1是的,即使您不显式使用事务,也可能发生死锁,因为所有insert/update/delete语句都使用“幕后”行级锁定。Read more here。

2一般来说,压力/性能测试不是一项微不足道的任务,没有多少通用工具可以很好地完成这项任务。如何对其他数据库更改(添加/更改/删除索引、表模式更改)进行压力测试?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7713236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档