社区
数据库
帖子详情
数据库表数据比较的优化问题
goodcxl
2008-12-10 09:27:36
我现在有两个表,一个记录的是基准信息,一个记录的是当前信息。表结构类似,(基准表比当前表多一个字段)
现在比较两个表记录差异时,我是循环取当前表的一个记录,然后到基准表中查询,如果在基准表中找到,则有这个,否则,对该记录进行标记。
与此同时,循环取基准表的一个记录,然后到当前表中查询,如果在当前表中找到,则有这个,否则,对该记录进行标记。
总结为:标记两个表除合集外的所有记录。
我现在这种方法查询比较慢,查询并显示得1——2秒。
寻找优化的方法。
...全文
95
8
打赏
收藏
数据库表数据比较的优化问题
我现在有两个表,一个记录的是基准信息,一个记录的是当前信息。表结构类似,(基准表比当前表多一个字段) 现在比较两个表记录差异时,我是循环取当前表的一个记录,然后到基准表中查询,如果在基准表中找到,则有这个,否则,对该记录进行标记。 与此同时,循环取基准表的一个记录,然后到当前表中查询,如果在当前表中找到,则有这个,否则,对该记录进行标记。 总结为:标记两个表除合集外的所有记录。 我现在这种方法查询比较慢,查询并显示得1——2秒。 寻找优化的方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
来灵
2008-12-10
打赏
举报
回复
UP,学习。
shakaqrj
2008-12-10
打赏
举报
回复
用MINUS
http://hi.baidu.com/wl858621/blog/item/7625833d3fa224c49f3d62f8.html
康斯坦汀
2008-12-10
打赏
举报
回复
两个表定义主健,比如是ID,
然后:
select * from 当前信息 where ID not in(select ID from 基准信息)
得到的就是没有的记录。
如果要加标记:
update 当前信息 set 标记 = 没有的记录 where 当前信息.ID not in(select ID from 基准信息)
这是最优化的。
goodcxl
2008-12-10
打赏
举报
回复
3q
康斯坦汀
2008-12-10
打赏
举报
回复
那如果主键是四个字段组合的呢,
主健越少越好,这是数据库设计原则,如果义一定是四个字段组合的话,语句就麻烦了。
假设主健是ID1,ID2,ID3,ID4
select * from 当前信息 where ID1 not in(select ID1 from 基准信息) and ID2 not in(select ID2 from 基准信息)
and ID3 not in(select ID3 from 基准信息) and ID4 not in(select ID4 from 基准信息)
in()函数一次只处理一个数据字段集合,所以必须像上面这样写。
你的语句只能标记一个表,如果两个表都标记,还要加
正确
goodcxl
2008-12-10
打赏
举报
回复
[Quote=引用 1 楼 r3000 的回复:]
两个表定义主健,比如是ID,
然后:
select * from 当前信息 where ID not in(select ID from 基准信息)
得到的就是没有的记录。
如果要加标记:
update 当前信息 set 标记 = 没有的记录 where 当前信息.ID not in(select ID from 基准信息)
这是最优化的。
[/Quote]
你的语句只能标记一个表,如果两个表都标记,还要加
select * from 基准信息 where ID not in(select ID from 当前信息)
把
goodcxl
2008-12-10
打赏
举报
回复
[Quote=引用 1 楼 r3000 的回复:]
两个表定义主健,比如是ID,
然后:
select * from 当前信息 where ID not in(select ID from 基准信息)
得到的就是没有的记录。
如果要加标记:
update 当前信息 set 标记 = 没有的记录 where 当前信息.ID not in(select ID from 基准信息)
这是最优化的。
[/Quote]
那如果主键是四个字段组合的呢,
那
select * from 当前信息 where ID not in(select ID from 基准信息)
中的ID能不能改成这四个字段的组合呢
goodcxl
2008-12-10
打赏
举报
回复
[Quote=引用 1 楼 r3000 的回复:]
两个表定义主健,比如是ID,
然后:
select * from 当前信息 where ID not in(select ID from 基准信息)
得到的就是没有的记录。
如果要加标记:
update 当前信息 set 标记 = 没有的记录 where 当前信息.ID not in(select ID from 基准信息)
这是最优化的。
[/Quote]
先谢过。
怎么架构生产
数据
库
--生产
数据
库
优化
的一种方式
在很多企业中有这样一种情况: 核心
数据
库
承载着核心业务,很多其他系统、接口以及第三方系统等围绕着核心业务,要么直接连接该核心
数据
库
要么通过其他方式与核心
数据
库
交互,进而导致核心
数据
库
数据
量增大,连接数...
数据
库
大
数据
量的
优化
方案
在系统开发的初期以及使用的初期,一般不会太过于在意
数据
库
的设计以及sql语句的
优化
,这就会导致系统有可能在日积月累的海量
数据
下越来越慢直至崩溃,所以以后在系统
数据
库
设计之初完备的
数据
库
模型的设计是必须的...
数据
库
单
表
数据
量太大的
优化
方案总结
场景:一个
表
每天新增几万
数据
,目前单
表
总
数据
量在几百万
数据
。会查询粒度大的统计
数据
,也会查询粒度
比较
小的
数据
,当天更新的
数据
查询频率最密,最近几天的
数据
次之。 随着
数据
越来越多,
数据
库
的性能开始变低。...
数据
库
大
表
如何
优化
?
数据
库
大
表
如何
优化
? 当MySQL单
表
记录数过大时,
数据
库
的CRUD性能会明显下降,一些常见的
优化
措施如下: 1. 限定
数据
的范围 务必禁止不带任何限制
数据
范围条件的查询语句。比如:我们当用户在查询订单历史的时候,...
(精华)2020年8月19日
数据
库
设计
数据
库
优化
(
数据
库
自身的
优化
,
数据
库
表
优化
,程序操作
优化
)
从SQL SERVER 2005开始,
数据
库
不默认生成NDF
数据
文件,一般情况下有一个主
数据
文件(MDF)就够了,但是有些大型的
数据
库
,由于信息很多,而且查询频繁,所以为了提高查询速度,可以把一些
表
或者一些
表
中的部分...
数据库
4,012
社区成员
39,817
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章