gpt4 book ai didi

mysql - mysql explain 中更高的行计数意味着好还是坏?

转载 作者:行者123 更新时间:2023-11-29 05:15:54 25 4
gpt4 key购买 nike

我有一个旧的 MyISAM 表,当我提交一些计数查询时,表被锁定。如果我在同一个 InnoDB 表上执行相同的查询,查询将快速执行。问题是,旧的 MyISAM 表仍在生产中使用并且负载很重,而新的则没有。

现在我们来谈谈我的问题。当我解释在两个表中执行的查询时,我得到了一些让我感到困惑的结果。

这是我在两个表中执行的查询:

SELECT COUNT(*)
FROM table
WHERE vrsta_dokumenta = 3
AND dostupnost = 0

这是旧 MyISAM 表的解释:

id select_type table     type possible_keys         key               key_len ref    rows   Extra    
1 SIMPLE old_table ref idx_vrsta_dokumenta idx_vrsta_dokumenta 1 const 564253 Using where

下面是新 InnoDB 表的解释:

id select_type   table  type    possible_keys         key           key_len  ref    rows   Extra     
1 SIMPLE new_table ref idx_vrsta_dokumenta idx_vrsta_dokumenta 1 const 611905 Using where

如您所见,新表中的行数高于旧表。

因此,如果数字越大越好,这是否意味着一旦新表被完全使用,对它的查询就会变慢?

如果数字越大越好,那么这可能就是新表速度更快以及 MyISAM 在执行一段时间后被锁定的原因。

无论如何,什么是正确的?这个行数是什么意思?

编辑:旧表的列数是新表的两倍。由于旧表已拆分为 2 个表。

最佳答案

黑屋男孩:

So in the case that higher number is bad, does this mean that query on the new table will be slower once it is fully in use?

MySQL manual说明 EXPLAIN 中的行列:

The rows column indicates the number of rows MySQL believes it must examine to execute the query.

For InnoDB tables, this number is an estimate, and may not always be exact.

因此,较高的数字并不坏,这只是基于表元数据的猜测。

黑屋男孩:

In case the higher number is good, then maybe that is the reason why new table is faster, and MyISAM gets locked after some time of execution.

数字越大越好。 MyISAM 被锁定不是因为这个数字。

Manual :

MySQL uses table-level locking for MyISAM, allowing only one session to update those tables at a time, making them more suitable for read-only, read-mostly, or single-user applications.

... Table updates are given higher priority than table retrievals... If you have many updates for a table, SELECT statements wait until there are no more updates.

如果您的表经常更新,它会被 INSERT、UPDATE 和 DELETE(又名 DML)语句锁定,这会阻止您的 SELECT 查询。

关于mysql - mysql explain 中更高的行计数意味着好还是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986965/

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