再现理想 发表于 2015-1-16 14:19:22

一时表

Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失ALTERproc.
@typetinyint,
@IsWherenvarchar(1000)
as
begin
ifexists(select*fromtempdb.dbo.sysobjectswhereid=object_id(Ntempdb.dbo.#t_equ_cost))
droptable#t_equ_cost
createtable#t_equ_cost
(
Batchvarchar(50),
eCostPricefloat,
MOIDvarchar(50),
DateDatetime,
PMCPlannervarchar(50),
PMCPlannerNamevarchar(50)
)
insertinto#t_equ_costexece_equ_cost@type
end
--将野生信息存进一时表
begin
ifexists(select*fromtempdb.dbo.sysobjectswhereid=object_id(Ntempdb.dbo.#t_hum_cost))
droptable#t_hum_cost
createtable#t_hum_cost
(
Batchvarchar(50),
hCostPricefloat,
MOIDvarchar(50),
DateDatetime,
PMCPlannervarchar(50),
PMCPlannerNamevarchar(50)
)
insertinto#t_hum_costexece_hum_cost@type
end
begin
ifexists(select*fromtempdb.dbo.sysobjectswhereid=object_id(Ntempdb.dbo.#t_met_cost))
droptable#t_met_cost
createtable#t_met_cost
(
Batchvarchar(50),
mCostPricefloat,
MOIDvarchar(50),
DateDatetime,
PMCPlannervarchar(50),
PMCPlannerNamevarchar(50)
)
insertinto#t_met_costexece_met_cost@type
end
declare@sqlvarchar(2000)
set@sql=select*,(eCostPrice+hCostPrice+mCostPrice)asTotalCostPricefrom(
select
isnull(A.Batch,B.Batch)asBatch,
isnull(A.MOID,B.MOID)asMOID,
isnull(A.Date,B.Date)asDate,
isnull(A.PMCPlanner,B.PMCPlanner)asPMCPlanner,
isnull(A.PMCPlannerName,B.PMCPlannerName)asPMCPlannerName,
isnull(A.eCostPrice,0)aseCostPrice,
isnull(A.hCostPrice,0)ashCostPrice,
isnull(B.mCostPrice,0)asmCostPricefrom
(
select
isnull(A.Batch,B.Batch)asBatch,
isnull(A.MOID,B.MOID)asMOID,
isnull(A.Date,B.Date)asDate,
isnull(A.PMCPlanner,B.PMCPlanner)asPMCPlanner,
isnull(A.PMCPlannerName,B.PMCPlannerName)asPMCPlannerName,
A.eCostPrice,B.hCostPricefrom#t_equ_costAfullouterjoin#t_hum_costBonA.Batch=B.Batch
)
Afullouterjoin#t_met_costBonA.Batch=B.Batch
)Awhere+@IsWhere;
execute(@sql)
droptable#t_met_cost
droptable#t_hum_cost
droptable#t_equ_cost
GO
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

变相怪杰 发表于 2015-1-18 12:54:48

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

仓酷云 发表于 2015-1-26 21:01:40

SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。

小女巫 发表于 2015-2-4 21:31:47

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

乐观 发表于 2015-2-10 17:50:30

换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的

深爱那片海 发表于 2015-3-1 14:34:35

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

飘灵儿 发表于 2015-3-10 20:02:46

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

第二个灵魂 发表于 2015-3-17 10:33:45

可以动态传入参数,省却了动态SQL的拼写。

柔情似水 发表于 2015-3-24 08:16:05

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
页: [1]
查看完整版本: 一时表