大家帮帮忙,看看这句话怎么优化
2008-12-11 10:00
225 查看
大家帮帮忙,看看这句话怎么优化 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061221153924184.html
insert into mdb..tbnv (counter_sno,in_no,trn_date,curr_no,item_no,account_no,trn_amt)select isnull(counter_sno,true_sno),isnull(in_no,0),'20061206',isnull(curr_no,0),isnull(item_no,0),isnull(account_no,0) from (select * from sqlsrv.tbAc.dbo.tblsz_ht06 where trn_date = '20061206') a right join (select distinct(true_sno) from sqlsrv.tbJD.dbo.tbocrresult where trn_date='20061206'and packfile = '2006120601' and len(true_sno)=12) b on counter_sno = true_sno
其中mdb..tbnv 是用设置远程服务器的Access表,所有字段都不允许为空也没有默认值,sqlsrv.tbAc.dbo.tblsz_ht06和sqlsrv.tbJD.dbo.tbocrresult 都是另外服务器上的SQLServer表,其中记录数在300万左右,现在运行需要大概2分半时间,希望大家帮帮忙看看是否能把时间缩短到1分钟啊,其中表的索引我都已经加了不用考虑了,主要看看这句话什么地方还能优化的,谢谢大家
提前
一大堆,没仔细看,
简单的把你的代码改成这种伪代码
insert into tablename(c_name1,cname2,cname3...cname_N)第一部分
select c_name1,cname2,cname3...cname_N from 第二部分
一个由关联查询得到的新结果集合 第三部分
但如果不改表结构以及索引这些硬性的东西,单纯依靠从语句的修改来提升性能,那么唯一可以改的就是语句中的第三部分,即关联查询的那一部分,不了解的表,但要改,以就是根据你的表结构看看关联查询部分的性能提升
select * 与distinct(true_sno) 优化不了 基本上没有什么可优化的了 300万数据也不少啊!
想办法把你的isnull去掉,列上尽量不要用函数
isnull是对结果的操作,用函数不会影响速度;
将select * 换成select 字段列表
谢谢大家,这句话问题不大,我数据库连到了备份机上去了,所以才慢的,大家辛苦了
http://www.delphi2007.net/DelphiDB/html/delphi_20061221153924184.html
insert into mdb..tbnv (counter_sno,in_no,trn_date,curr_no,item_no,account_no,trn_amt)select isnull(counter_sno,true_sno),isnull(in_no,0),'20061206',isnull(curr_no,0),isnull(item_no,0),isnull(account_no,0) from (select * from sqlsrv.tbAc.dbo.tblsz_ht06 where trn_date = '20061206') a right join (select distinct(true_sno) from sqlsrv.tbJD.dbo.tbocrresult where trn_date='20061206'and packfile = '2006120601' and len(true_sno)=12) b on counter_sno = true_sno
其中mdb..tbnv 是用设置远程服务器的Access表,所有字段都不允许为空也没有默认值,sqlsrv.tbAc.dbo.tblsz_ht06和sqlsrv.tbJD.dbo.tbocrresult 都是另外服务器上的SQLServer表,其中记录数在300万左右,现在运行需要大概2分半时间,希望大家帮帮忙看看是否能把时间缩短到1分钟啊,其中表的索引我都已经加了不用考虑了,主要看看这句话什么地方还能优化的,谢谢大家
提前
一大堆,没仔细看,
简单的把你的代码改成这种伪代码
insert into tablename(c_name1,cname2,cname3...cname_N)第一部分
select c_name1,cname2,cname3...cname_N from 第二部分
一个由关联查询得到的新结果集合 第三部分
但如果不改表结构以及索引这些硬性的东西,单纯依靠从语句的修改来提升性能,那么唯一可以改的就是语句中的第三部分,即关联查询的那一部分,不了解的表,但要改,以就是根据你的表结构看看关联查询部分的性能提升
select * 与distinct(true_sno) 优化不了 基本上没有什么可优化的了 300万数据也不少啊!
想办法把你的isnull去掉,列上尽量不要用函数
isnull是对结果的操作,用函数不会影响速度;
将select * 换成select 字段列表
谢谢大家,这句话问题不大,我数据库连到了备份机上去了,所以才慢的,大家辛苦了
相关文章推荐
- 帮忙看看怎么优化这个最长的sql
- 大家帮忙看看c++中派生类发生浅拷贝,但是在析构时候怎么没有内存错误!求解!
- 一个为扩展过的自定义DataGridiew控件提供多行表头重绘所需的TreeNode和Columns代码,以满足列自动增加的功能。大家看看帮忙优化下
- 把一图片改为画笔,用来画线!!!!!! (有代码)请大家帮忙看看应该怎么改好。
- 帮忙看看,怎么回事?不懂啊。。。。。。
- 我的个人简历 希望大家帮忙给点建议 看看怎么能吸引人啊
- OpenCV中Mat-哪位大虾帮忙看看,怎么老是报错啊
- 一执行这句话就会死机,大家帮忙看看是什么原因,如何解决
- 这篇文章证实了索引对于IN,LIKE的优化程度,顺便学会了怎么看看语耗费的时间
- 大家帮忙看看 这个js怎么写?
- BLOG的下面部分内容怎么去掉?没有找到相关的设置!大家帮忙看看!
- ”记录集为只读“怎么解决?请高手帮忙看看。感激不尽……
- 求助各位帮忙看看CreateMutex怎么用OD调不了
- 大家帮忙看看如果面对这个升级文档该怎么处理,或者怎样才能处理得快一些(问在tianvcms改版前)
- D-Day +6 of .NET 传说中的计算器问题.有BUG,解决不了,第一个程序怎么就调不好呢,高手帮忙看看
- 高手大家帮忙啊!看看这个值怎么取出来判断?
- 网站推广优化教程100条(SEO,网站关键字优化,怎么优化网站,如何优化网站关键字)
- 小学生算数测试(需要调试,请各位大神帮忙看看)
- 被百度降权怎么办 来看看我的经历