mysql-两个索引条目之间的行?

mysql-两个索引条目之间的行?,第1张

概述我在重新导入mysqldump创建的数据库转储时遇到问题.我使用order-by-primary选项运行mysqldump,并使其在具有唯一键(并且没有显式主键,因此按该唯一键排序)的表上运行.在这种情况下,我的目标是重新创建表,使唯一键成为主键.这个转储花费了很长时间(大约10天),再次运行它会是一个很大的麻烦.我尝试重新导入转储(具有适当的架构更改),但

我在重新导入mysqldump创建的数据库转储时遇到问题.我使用order-by-primary选项运行MysqLdump,并使其在具有唯一键(并且没有显式主键,因此按该唯一键排序)的表上运行.在这种情况下,我的目标是重新创建表,使唯一键成为主键.

这个转储花费了很长时间(大约10天),再次运行它会是一个很大的麻烦.我尝试重新导入转储(具有适当的架构更改),但是MysqL在中途阻塞.我查看了转储文件所在的地方-好像有人在转储文件的文本中插入了一封垃圾邮件.

幸运的是,看起来损坏是隔离的,我能够在垃圾发生之前和之后看到密钥.

tl; dr:如果我只是将垃圾拼接出来,我不知道在前一个和后一个之间会丢失多少个密钥-转储是通过该唯一的密钥进行排序的,因此在这方面使工作变得更加轻松. MysqL有没有办法检索索引中两个条目之间的所有行?

密钥是一个32个字符的十六进制字符串,存储在CHAR(32)类型的列中.我敢肯定我不能使用<或>字符串运算符…有什么建议吗?最佳答案对MysqLdump进行主键(或唯一键)排序的原因是花费了这么长时间.但是,十天简直令人难以置信.

仅当您要备份MyISAM表并将其还原到InnoDB表时,执行此类排序才有用.这是你在做什么吗?

MySQL当然有一种转储表子集的方法.签出MysqLdump的--where选项.这应该允许您备份损坏的行.

是的,您可以使用<和>在sql中的字符串.您还可以使用BETWEEN谓词. 总结

以上是内存溢出为你收集整理的mysql-两个索引条目之间的行? 全部内容,希望文章能够帮你解决mysql-两个索引条目之间的行? 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1165533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存