mysqldump --skip-comments --skip-extended-insert -u root -p database1>file1.sql
mysqldump --skip-comments --skip-extended-insert -u root -p database2>file2.sql
diff file1.sql file2.sql
其实还有一些比较工具,推荐一个
mysql-comparison-tools
mysql和access的区别体现在资料更新速度、资料处理能力、结构优化条件三方面区别。
1、资料更新速度不同:
在 Windows 98 上使用相同的硬件和数据尺寸,处理几十万笔资料的时候,MySQL的资料更新速度将明显快于Access但是如果处理对象结构,Access将会优MySQL当建立表格以及索引的时候,MySqL 会将表格锁住,如此一来会导致正在进行的大量资料处理速度慢下来,这会保证用户来访时的查询速度,且不会影响网站开发。
2、资料处理能力不同:
MySQL的资料处理能力比Access强MySQL如果处理100MB的档案,不会发生承载过重的迹象,而Access处理100MB档案就会造成网站效率低下。
3、结构优化条件不同:
MySQL仅需优化硬件条件,而不是MySQL本身,本身其效率不如AccessAccess的数据库非常的有效率,当然这也有赖于网站的结构设计MySQL不支持外键,优化时注意如何让存取IO减少到最低值、如何让一个或多个CPU 随时保持在高速作业的状态、以及适当的网络带宽, 而非实际上的设计以及资料查询语句。
参考资料来源:百度百科—mySQL
参考资料来源:百度百科—Microsoft Office Access
查询两张表数据不一致的记录,可以用求差集(非交集)的办法来解决。SQL语言求"差集"的办法相对于求"交集"的办法要少很多,一般可用not exists(非存在子句)或 左(右)连接后所产生空字段值来筛选两表的差集。下面举个例子供参考选出a表中与b表中id不一致的记录select a.* from a where not exists (select 1 from b where b.id=c.id)说明:上述语句只比对id一个字段,我们可以根据需要比对多个字段。not exists在比对字段有可利用的索引时,其运行效率是非常高,但是如果没有索引的情况下运行在大数据表时,其运行效率极差,这时应避免使用它,这时我们可改用左(右)连接来求差集。下面是用左连接来求差集的例子:1select a.* from a left join b on a.id=b.id where b.id is null用左(右)连接来求差集,由于需要实施两表连接会导致笛卡尔效应其输出集的记录行可能会增多,若果不是一对一或一对多,我们应该将多对多的情况处理成多对一后才进行连接,否则输出的记录集可能不正确。求差集的两种方法,有索引可利用时,not exists的效率要高于left join,反之left join效率更好。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)