gpt4 book ai didi

c# - 比较 InnoDb 和 MyIsam MySql 表的相等性

转载 作者:行者123 更新时间:2023-11-29 13:51:02 24 4
gpt4 key购买 nike

我正在尝试比较来自两个不同数据库的两个 MySql 表,一个使用 MyIsam 引擎,另一个使用 InnoDb 引擎。

我需要能够快速确定表是否存储相同的值。我开始使用 MD5 哈希比较,但失败了;我认为这是因为数据库引擎不同。

有人对如何比较两个表的相等性有任何建议吗?

注意:

这是一个用 C#.NET 编写的应用程序,因此我更喜欢 C# 实现,而不是 MySql 引擎实现。一般来说,每个表始终有 210 列和 0 到 100 行之间的任意位置。

最佳答案

当然不是大型表的解决方案,并且自动增量是不同的。您可以通过某个特定事件的 cron 作业来自动执行此操作,或者如果您说在 cron 作业看到、清除并开始它的某个表中放置一个值。

CREATE TABLE charlie1
( billybob INT NOT NULL,
birthdate DATETIME NOT NULL,
funny_num FLOAT NOT NULL
)ENGINE=INNODB;

INSERT INTO charlie1 (billybob,birthdate,funny_num) VALUES (1,'2006-01-02',28832.123);
INSERT INTO charlie1 (billybob,birthdate,funny_num) VALUES (2,'2004-09-02',18832.888);
INSERT INTO charlie1 (billybob,birthdate,funny_num) VALUES (3,'2006-07-03',28332.123);
INSERT INTO charlie1 (billybob,birthdate,funny_num) VALUES (4,'2006-01-02',28852.777);


SELECT billybob,birthdate,funny_num
FROM charlie1
ORDER BY billybob
INTO OUTFILE '/tmp/charlie1.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

CREATE TABLE charlie2
( billybob INT NOT NULL,
birthdate DATETIME NOT NULL,
funny_num FLOAT NOT NULL
)ENGINE=MYISAM;

INSERT INTO charlie2 (billybob,birthdate,funny_num) VALUES (1,'2006-01-02',28832.123);
INSERT INTO charlie2 (billybob,birthdate,funny_num) VALUES (2,'2004-09-02',18832.888);
INSERT INTO charlie2 (billybob,birthdate,funny_num) VALUES (3,'2006-07-03',28332.123);
INSERT INTO charlie2 (billybob,birthdate,funny_num) VALUES (4,'2006-01-02',28852.777);


SELECT billybob,birthdate,funny_num
FROM charlie2
ORDER BY billybob
INTO OUTFILE '/tmp/charlie2.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

i changed data in the file to show diff picks it up:

root@hp:/tmp# diff /tmp/charlie1.csv /tmp/charlie2.csv
2c2
< "2","2004-09-02 00:00:00","18832.9"
---
> "2","2004-09-02 00:00:00","18832.8"

关于c# - 比较 InnoDb 和 MyIsam MySql 表的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652138/

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