S2
假如
S2
与
S1
2个数据库,
没有交集,那么直接执行:
INSERT
INTO
DATA
SELECT
*
FROM
S1.DATA
假如
S2
与
S1
2个数据库,
有交集(
主键是
id
),那么执行:
INSERT
INTO
DATA
SELECT
*
FROM
S1.DATA
AS
s1data
WHERE
s1data.id
NOT
IN
(
SELECT
id
FROM
DATA)
首先问下.你会哪种导入手段.再之.你会哪种导出方法.然后,按你会的 *** 作呗.2个数据库是不是同在本地,还是一个本地一个远程?navicat自带数据导入向导,按那个 *** 作就是.
表名不同没关系.字段不统一的话,要在导入时选下映射关系,不然就只有把远程的表下到本地来.
再用insert
into
目标表(字段1,....字段n)
select
a,b,c,d,...n
from
源表的方式写入.
我不知道你们具体的需求,但是这个问题如果说单单从一张表上统计的话数据量很大,会很慢的。我觉得这个问题可以分成两个功能实现,一个是实时查询,一个是历史查询。那么就有两张表,一个是实时表(在线表或者主表),一个是历史表(从表)。这时还需要借助一张辅助表,称为统计表吧。每天定时把实时表的数据插入到历史表,再从历史表分组统计,将统计的结果插入统计表。如果查询实时数据,可以从实时表查询,实时表只有一天的数据。
如果查询的历史数据,可以从统计表查询。
如果你们的需求这样不可行,那就考虑一下写存储过程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)