gpt4 book ai didi

MySQL select查询返回250K+结果,delete查询只删除一个?

转载 作者:行者123 更新时间:2023-11-30 01:23:14 25 4
gpt4 key购买 nike

我不明白这个。我已经多次删除该表并重新创建它,每次都是一样的。当我运行此查询时:

SELECT * FROM `squares` WHERE MBRContains(PolyFromText('Polygon((-34 166, -34 171, -41 171, -41 166, -34 166))'), `coordinate`);

我返回了超过 250,000 个结果,这是正确的。当我尝试更改查询以根据我的 where 子句删除它时,如下所示:

DELETE FROM `squares` WHERE MBRContains(PolyFromText('Polygon((-34 166, -34 171, -41 171, -41 166, -34 166))'), `coordinate`);

MySQL 认为一次只删除一行是合适的。我不会点击“开始”25 万次以上。为什么是这样?这是表结构...

`squares` (
`square_id` int(7) unsigned NOT NULL,
`ref_coord_lat` double(8,6) NOT NULL,
`ref_coord_long` double(9,6) NOT NULL,
`coordinate` point NOT NULL,
PRIMARY KEY (`square_id`),
KEY `ref_coord_lat` (`ref_coord_lat`),
KEY `ref_coord_long` (`ref_coord_long`),
SPATIAL `coordinate` (`coordinate`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

如果有什么用的话,这是 MySQL 5.5.27,在 phpMyAdmin 3.5.2.2 上运行。有什么想法吗?

最佳答案

尝试优化您的表格方 block 。

编辑:或者添加限制:

DELETE FROM `squares` WHERE MBRContains(PolyFromText('Polygon((-42 175, -42 179, -48 179,     -48 175, -42 175))'), `coordinate`) LIMIT 10000;

如果可以的话,使用限制参数。

关于MySQL select查询返回250K+结果,delete查询只删除一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18303847/

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