gpt4 book ai didi

MySQL:从带有锁的另一个表创建一个表

转载 作者:行者123 更新时间:2023-11-29 21:20:07 24 4
gpt4 key购买 nike

我有一个相当大的表,有 36m 行。我想创建另一个表,其中包含随机顺序的列之一。

CREATE TABLE random_stamps AS SELECT time FROM cur_a order by rand();

问题是我超出了预期的锁表大小。我尝试锁定表 cur_a,但是当 cur_a 被锁定时,我无法创建另一个表。

我无法增加锁定表的大小,因为我没有服务器的 root 访问权限。

最佳答案

我建议通过添加另一列来完成您想要的操作:

CREATE TABLE random_stamps AS
SELECT time, rand() as rand
FROM cur_a;

CREATE INDEX idx_random_stamps_rand ON random_stamps(rand, time);

然后,当您获取数据时,您可以使用order by,它将使用索引:

SELECT rs.*
FROM random_stamps rs
ORDER BY rand;

关于MySQL:从带有锁的另一个表创建一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757761/

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