使用 MyISAM 时避免在 MySQL 中锁定 SELECT:s

发布于 2024-07-30 02:54:23 字数 299 浏览 6 评论 0原文

MyISAM 使用表级锁定,这意味着当 INSERT/UPDATE:s 运行时 SELECT:s 被阻止。

为了缓解阻塞 SELECT:s 的问题,建议我使用以下参数配置 MySQL:

  • low_priority_updates=1
  • concurrent_insert=2

使用 有哪些缺点low_priority_updates=1concurrent_insert=2

MyISAM uses table level locking which means that SELECT:s are blocked while INSERT/UPDATE:s are running.

To mitigate the problem of blocked SELECT:s I've been recommended to configure MySQL with these parameters:

  • low_priority_updates=1
  • concurrent_insert=2

What are the drawbacks of using low_priority_updates=1 and concurrent_insert=2?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

她比我温柔 2024-08-06 02:54:23

这是来自 MySQL 性能博客的精彩帖子其中涵盖了其中一些

锁定优先级。 默认情况下,MySQL 将更新视为更高优先级
运营。 您可以使用选择
HIGH_PRIORITY 或更新 LOW_PRIORITY
来调整它或者你可以简单地设置
low_priority_updates 选项。 反正
默认行为意味着任何更新
被 long 阻塞的语句
运行 select 也会进一步阻塞
从这个表中选择——他们会
必须等到 UPDATE 执行
正在等待 SELECT 到
完全的。 这往往不被考虑在内
人们认为——“好吧。 我写我的
脚本,所以它会进行简短的更新,所以它
不会阻止任何东西”——它仍然
如果有可能会导致完全阻塞
long 选择运行。

另一篇发布基准测试并发_inserts并强调了可能的缺点,尽管帖子现在已经3岁了。

Here's a great post from the MySQL Performance Blog which covers some of this

Lock priorities. By default MySQL treats updates as higher priority
operations. You can use SELECT
HIGH_PRIORITY or UPDATE LOW_PRIORITY
to adjust that or you can simply set
low_priority_updates option. Anyway
default behavior means any UPDATE
statement which is blocked by long
running select will also block further
selects from this table – they will
have to wait until UPDATE is executing
which is waiting on SELECT to
complete. This is often not accounted
for and people think – “OK. I write my
script so it does short updates so it
will not block anything” – it still
may cause total block if there are
long selects running.

Another post benchmarks concurrent_inserts and highlights possible downsides, though the post is 3 years old now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文