gpt4 book ai didi

不影响其他操作的MySql查询

转载 作者:可可西里 更新时间:2023-11-01 07:39:14 25 4
gpt4 key购买 nike

我有一个巨大的(设计不佳的)InnoDB 表,其中包含数百万条记录。当我询问这个​​人时,执行持续了几分钟。我如何确保在此期间没有其他操作(查询、插入或更新)受到影响?我最不想要的是在我的查询运行时出现死锁或其他人超时。

这是实际的查询..

SELECT html FROM cms_log where class_name ='main_pages' order by date_created desc;

现在字段“class_name”未编入索引,但目前我无法更改。

This post建议使用

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

在运行我的查询之前。但这是一个相当古老的帖子,它只谈到锁。有人可以确认这是要走的路还是可以提供更好的方法来运行最无害的查询? (我也不关心脏读和幻读,我只是不想影响其他操作)。

最佳答案

所以看起来这是要走的路..

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

在查询之前执行此操作似乎可以确保在执行此长查询时没有其他操作得到可怕的“超出锁定等待超时”。

关于不影响其他操作的MySql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31910751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com