gpt4 book ai didi

mysql - 是否可以手动执行一个不会阻止其他查询的选择查询?

转载 作者:行者123 更新时间:2023-11-29 01:45:32 26 4
gpt4 key购买 nike

问题是,如果我执行一个需要几分钟的选择,当我的选择运行时,我的应用程序中的所有其他查询都被阻止,这显然是我不想要的。

我想看看在一个有 150 万行、10 GB 大小的 myisam 表中,有多少行的列不为 NULL。但是磁盘非常慢,这就是为什么需要这么长时间。

select count(*) from table where column is not null;

是否可以运行这样的查询几分钟,同时能够运行其他查询?

即使有办法运行并行查询,我怀疑慢速磁盘仍然是个问题,导致其他查询变得慢得无法忍受。

最佳答案

您可以通过在 mysql 中将隔离级别设置为未提交读取来避免锁定。

SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;

select count(*)
from table
where column is not null;

SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;

关于mysql - 是否可以手动执行一个不会阻止其他查询的选择查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7865199/

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