1、加索引:
tblExlTempYear(GDXM,TXDZ)
tblExlTempMonth (GDXM,TXDZ)2、删除误用数据3、转移过是数据4、加服务器内存,升级服务器5、升级网络系统6、别无他法(玩笑)
tblExlTempYear(GDXM,TXDZ)
tblExlTempMonth (GDXM,TXDZ)2、删除误用数据3、转移过是数据4、加服务器内存,升级服务器5、升级网络系统6、别无他法(玩笑)
解决方案 »
- 【求助】在java中访问SQL Server数据库,出现这样的错误,是怎么回事
- [数据库] 请教一个关于sql2005中XML字段查询的问题
- 怎样计算表里是否缺数据。正常是连续的数据
- 关于登陆的一个问题!
- 问一个Easy问题,搞明白立即接贴
- 如何写这样的聚合:
- MSSQL 存储过程中EXEC附近有语句错误
- Sql 2005还原数据库疑惑
- 一个日期相减问题
- 有关@BCP 的执行,望朋友指教,exec master..xp_cmdshell @bcp output
- interbase数据库和sqlserver数据库的连接??高手请进。。。急急急急
- sql server在局域網內用電腦名稱可以連,但是用ip地址不能連(其它機都可以,就我的不行),提示sql 不存在或 拒絕訪問,請高手指點?
tblExlTempYear.GDXM
tblExlTempMonth.TXDZ
tblExlTempYear.TXDZ
加索引
SET tblExlTempYear.GDQC = tblExlTempMonth.GDQC
FROM tblExlTempYear,tblExlTempMonth
where tblExlTempMonth.GDXM=tblExlTempYear.GDXM and tblExlTempMonth.TXDZ=tblExlTempYear.TXDZ
and ...
语句上有没有还可以优化的办法?
谁能给些SQL语句优化的具体例子!!!
SET GDQC = tblExlTempMonth.GDQC
FROM tblExlTempMonth
where tblExlTempMonth.GDXM=tblExlTempYear.GDXM
and tblExlTempMonth.TXDZ=tblExlTempYear.TXDZ
要是提高1m,你不是要送600分么?不过题目不是很清除,最好将表结构也贴出来。
SET tblExlTempYear.GDQC = tblExlTempMonth.GDQC
FROM tblExlTempMonth
where tblExlTempMonth.GDXM=tblExlTempYear.GDXM and tblExlTempMonth.TXDZ=tblExlTempYear.TXDZ这样写呢?
根据搂主的联接条件,首先要考虑的是否1:1匹配还是n:1匹配?(肯定不会是
1:n或者n:n匹配,那样要出错了)。然后要考虑两个表的各自输入范围,比如左边的表命中的是10万条,而右边的表命中100条,则搂主使用的联接方式有欠合理,执行起来较慢。
SET tblExlTempYear.GDQC = tblExlTempMonth.GDQC FROM tblExlTempMonth a
----^^少了一个给一分!哈哈。。
where a.GDXM=tblExlTempYear.GDXM and a.TXDZ=tblExlTempYear.TXDZ给tblExlTempYear表的GDXM和TXDZ加非簇索引
给tblExlTempMonth表的GDXM和TXDZ加非簇索引
触发器
楼主的问题实际上是保持两表的数据一致,可以用触发器来分散性能压力
在tblExlTempMonth表建立修改触发器(必要的可以加插入触发器),判断修改GDQC字段的时候,修改tblExlTempYear的GDQC字段create trigger tr_tblExlTempMonth_update
on tblExlTempMonth
for update
as
if update (GDQC)
UPDATE tblExlTempYear
SET tblExlTempYear.GDQC = i.GDQC
FROM tblExlTempYear ,inserted i
where i.GDXM=tblExlTempYear.GDXM and i.TXDZ=tblExlTempYear.TXDZgo
以下只是一人小技
use Udatebase
go
create index indexY on tblExlTempYear(GDXM,TXDZ)
create index indexM on tblExlTempMonth(GDXM,TXDZ)
go
--------------------
UPDATE tblExlTempYear
SET tblExlTempYear.GDQC = tblExlTempMonth.GDQC
FROM tblExlTempYear (index indexY),tblExlTempMonth (index indexM)
where tblExlTempMonth.GDXM=tblExlTempYear.GDXM and tblExlTempMonth.TXDZ=tblExlTempYear.TXDZ
不过触发器还需要考虑tblExlTempYear表修改GDXM、TXDZ两个字段的情况,tblExlTempYear表也需要修改触发器