gpt4 book ai didi

mariadb - 使用索引导致在 READ UNCOMMITTED 事务期间无法获取更新锁

转载 作者:行者123 更新时间:2023-12-05 02:41:08 28 4
gpt4 key购买 nike

升级到 mariadb 10.5.11 后,我遇到了一个奇怪的索引问题。

具有两个列的简单表 Type(varchar) 和 Point(point)

类型的索引(Tindex)和的空间索引(Pindex)

现在像这样的查询

SELECT X(Point) as x,Y(Point) as y,hotels.Type FROM hotels WHERE (Type in ("acco")) AND MBRContains( GeomFromText( 'LINESTRING(4.922 52.909,5.625 52.483)' ), hotels.Point)
;

结果

查询错误 (1207):在 READ UNCOMMITTED 事务期间无法获取更新锁

虽然两者

SELECT X(Point) as x,Y(Point) as y,hotels.Type FROM hotels USE INDEX (Pindex) WHERE (Type in ("acco")) AND MBRContains( GeomFromText( 'LINESTRING(4.922 52.909,5.625 52.483)' ), hotels.Point)
;

SELECT X(Point) as x,Y(Point) as y,hotels.Type FROM hotels USE INDEX (Tindex) WHERE (Type in ("acco")) AND MBRContains( GeomFromText( 'LINESTRING(4.922 52.909,5.625 52.483)' ), hotels.Point)
;

工作正常。正如 mariadb 10.5.10 所做的那样

|编号 |选择类型 |表 |类型 |可能的键 | key | key 长度 |引用 |行 |额外 |

| 1 |简单 |酒店 |范围|过滤器|类型,Pindex | Pindex|类型| 34|302|空 | 340 (4%) |在哪里使用;使用 rowid 过滤器 |

最佳答案

该问题现在被跟踪为 MDEV-26123 (我猜你在那里报告过)。问题描述说这个问题是在 MariaDB 10.2.39、10.3.30、10.4.20、10.5.11、10.6.1 中引入的。

我在升级到 MariaDB 10.6.4 后遇到了这个问题。我降级到 10.6.0,这无需进行任何数据迁移即可实现。现在似乎已经解决了这个问题。

关于mariadb - 使用索引导致在 READ UNCOMMITTED 事务期间无法获取更新锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68245557/

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