我们在系统中遇到问题,我们遇到了死锁,这是由两个进程引起的: 1.删除具有特定ID(主键)的行 2.第二步更新X行的列表,where过滤器位于特定ID(主键)上
在死锁日志中,我们看到两个查询使用相同的索引,但是此索引不是PRIMARY索引。
我尝试通过以下方式强制更新语句使用PRIMARY索引: 1.仅查询(Lead).with_hint(...) 2. Query(lead).prefux_with-仅 3. session.query(Lead).prefix_with(“ / * + NO_RANGE_OPTIMIZATION(t4 PRIMARY)* /”)。with_hint(Lead,“ USE INDEX(PRIMARY)”)
我已经在引擎中启用了echo,但是我看不到日志显示任何地方显示的“ with_hint”或“ prefix_with”。 我还启用了mysql一般查询日志,但没有在其中插入任何索引或前缀。
希望对此有所帮助。