gpt4 book ai didi

mysql 5.5 到 mariadb 10.2.13 : 4000% increase in execution time for select

转载 作者:行者123 更新时间:2023-11-30 21:47:04 25 4
gpt4 key购买 nike

从 mysql 5.5 迁移到 mariadb 10.2.13 后,我遇到了一个性能问题。包括配置在内的两台机器的大小是相同的。我们注意到某个 select 语句突然需要大约 20 秒来执行,而不是 0.5 秒。数据纯粹是从内存中读取的,因为在执行期间要测量的读取 IO 为零。将mariadb上的optimizer_switch改为mysql5.5的设置,执行计划没有改变。

mariadb 上的选择说明如下所示: 20 sec execution time

mysql5.5上select的说明:

0.5 sec execution

选择语句:

SELECT  acmh.OBJ_VERSION,acmh.peannr,acmh.pzsrnr,xuts.ptitle,
acmh.pcategory,acmh.psalutatio,acmh.plastname,acmh.pfirstname,
acmh.pcompanyna,syoq.paddress1,syoq.pzip,syoq.pcity,syoq.pphone1,
syoq.pphone2,syoq.pphone3,syoq.pphone4,syoq.pemail,acmh.piscompany,
xuts.id
FROM catalog1.tr_table_acmh acmh,catalog1.tr_table_syoq syoq,
catalog1.tr_table_xuts xuts,catalog1.tr_table_wdvi link0,
catalog1.tr_table_wdvi acl0
WHERE acmh.id=syoq.id
AND acmh.id=xuts.id
AND syoq.id=xuts.id
AND xuts.OBJ_TYPE IN (1557)
  AND ( (xuts.id=link0.pchild
AND link0.pparent='xkgrrslqkeaaaaendrxa'
AND link0.pname='folder')
and 1 = 1 )
AND xuts.pvcurrent=1
AND (acl0.pchild=xuts.pacl
AND acl0.pparent='xkgrrswxbjaaaaaaabip'
AND acl0.pvalue>=20
)
  order by acmh.plastname asc,
acmh.pfirstname asc,
acmh.pcompanyna asc
LIMIT 10 OFFSET 0;

我是否缺少任何可以在 mariadb 上强制执行不同行为的开关?

最佳答案

更新查询优化器的统计信息(对涉及的 3 个表进行 ANALYZE TABLE)解决了这种情况下的问题。

SELECT 的新执行计划现在看起来像这样:

enter image description here

关于mysql 5.5 到 mariadb 10.2.13 : 4000% increase in execution time for select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48939543/

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