有没有办法配置 MySQL 以避免同时执行两个或多个相同的查询?例如,用户生成报告并再次进入同一页面并生成相同的报告。mysql 客户端中的 processlist 命令显示由不同进程执行的相同查询。
答案1
由于给出完全否定答案总是很微妙,所以你的问题很难回答。不过,据我所知,答案确实是否定的。
话虽如此,人们可以想象一些(复杂的)方法将查询嵌入到一些更大的语句中,这意味着某种锁定机制 - 但你并没有要求这样做。坦率地说,这不是我推荐的做法。
我猜你实际上正在寻找一种有益的方法来防止同一用户针对同一数据并行运行此类查询。我的方法是通过其他机制来防止这种情况(原始数据库/表锁定对我来说没有吸引力) - 可能是在应用程序的逻辑中(例如将正在运行的查询绑定到用户的会话或类似操作)。