gpt4 book ai didi

mysql - sql缓存内存

转载 作者:行者123 更新时间:2023-11-28 23:44:20 24 4
gpt4 key购买 nike

我有一个包含 10 条记录和一个 ID 字段作为主键的表。我的许多查询也不包括 ORDER BY id。例如,它们看起来像:

SELECT * FROM `branch`

当我错误地删除了ID为1的记录时,我的问题就开始了,然后为了纠正我的错误,我插入了一条具有相同ID和内容的记录。但是现在,在我所有的查询中,后来插入的行是最后一行。我的意思是,ID 的顺序是:2,3,4,5,6,7,8,9,10,1。

我想要的是,让返回的记录按 ID 排序,就像删除之前一样,但我不能在所有查询中添加 ORDER BY id,因为有很多查询,例如这在许多文件中。

请帮帮我,谢谢你,奥姆里。

最佳答案

要解决您的问题,您可以SET foreign_key_checks=0 然后删除您的表并重新创建它,按顺序插入从 ID 1 到 10 的值,然后再次 SET foreign_key_checks=1 。这很可能会解决您的问题。

但我的建议是始终使用ORDER BY

因为您不能信任作为 SELECT 结果从 MySQL 返回的记录的顺序。默认情况下,MySQL 按照存储结果的顺序返回结果,并将记录存储在发现“漏洞”的任何位置。

这意味着如果您进行批量插入,它“可能”占用顺序内存分配。现在,如果您从该集合中删除一条记录,则会产生一个空洞,该空洞将被后续插入所占用,并且它在 SELECT 中反射(reflect)相同。

关于mysql - sql缓存内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33853276/

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