在sqlserver7.0中有个配置选项叫tempdb in ram,如果置上就将tempdb数据库放在内存中来加快速度,但sqlserver2000中已经不支持,系统会自动优化。 oracle中是不是也有这个选项我就不清楚,但我想应该会有的。 其实,我觉得不管哪种数据库,生成的中间记录都会首先放在内存中,只有在内存不够的时候才会写到硬盘上,一般不需要人工干预。使用本地临时表,系统肯定会首先在内存中处理的。
warp1977(), 具體的介紹可以去查Book onlineDeclare @tmp Table (id int IDENTITY(1,1),CName varchar(30)) Insert into @tmp values ('Test')操作跟table差不多,只是有些地方有限制。
to uje(sky):哈哈哈,你倒是挺可爱的! warp1977()是问N_chow(一劍飄香)表变量怎么定义的一个用户,不是你想像的一个函数什么的
把数据库映射到内存中的原理是什么样的?
天呀你有多少银子买内存呀??????不是内存也要用.40G吧????????
oracle中是不是也有这个选项我就不清楚,但我想应该会有的。
其实,我觉得不管哪种数据库,生成的中间记录都会首先放在内存中,只有在内存不够的时候才会写到硬盘上,一般不需要人工干预。使用本地临时表,系统肯定会首先在内存中处理的。
具體的介紹可以去查Book onlineDeclare @tmp Table (id int IDENTITY(1,1),CName varchar(30))
Insert into @tmp values ('Test')操作跟table差不多,只是有些地方有限制。
warp1977()是问N_chow(一劍飄香)表变量怎么定义的一个用户,不是你想像的一个函数什么的
a char(8)
)
Sql server就这样建就可以了,不过若是打开记录集时,关闭时,表就自动清除了,小心为妙。
在sql中,table变量和游标是开在内存的,而临时表是放在磁盘存储区的,微软的培训教材里有讲到啊。
假定: 对一家公司的员工进行管理:
包括人员名字,出生日期,加入公司的年份,那个部门(用ring0---ring9表示10个部门) ,工资标准等(多多不限)
要求有对(假如有员工改名, 可以实现改名, 尽管使用中不常见, 但主要是为了实现面向对象思想)(更改工资标准)(开除员工和增加员工)(通过工龄即加入公司的时间来对员工进行排序, 同一年的可随便排)(通过部门的对员工排序, 个部门的集中在一起显示,譬如ring0的排了下了跟着就是全是ring1部门的)
请兄弟们快点回帖, 把源代码和程序发给我, 搞定后就给200分!!!
这是我期末考试的题目, 兄弟们要快快快!!
我的email : [email protected]
"select 字段1、字段2、…… from 源表名 into #临时表名 where 1>2" 来创建一个与源表结构相同的临时表。如果在VFP中你可以直接用:"create cursor 临时表名 (字段1 字段类型,……)"来创建.
//新建一个表的字段
DataTable dt = new DataTable();
dt.column.Add("firstcolumn",sizeof("firstcolumn");
dt.column.Add("secondcolumn",sizeof("secondcolumn");
……
//建立新的记录行,加入数据
DataRow dr;
dr = dt.NewRow();
dr.Column["firstcolumn"]="yourfirstData";
dr.Column["secondcolumn"]="yoursecondData";
……
就ok了。
希望我的答复能给你帮助。
alter table jlandzpa cache;
Insert into @TMPTable select * from YourTable
select * from @TMPTable
或者其他 n-tier工具试试
DIM RS AS ADO.RECORDSET
SET RS=NEW ADO.RECORDSET
RS.FIELDS.APPEND "ID",ADINTERGER,,ADFLDKEYCOLUMN
RS.FIELDS.APPEND "DESCRIPTION",ADVARCHAR,40
RS.OPEN LOCKTYPE:=ADLOCKBATCHOPTIMISTIC
RS.ADDNEW
RS.FIELDS(ID).VALUE=1
RS.FIELD(DESCRIPTION).VALUE="FIRST RECORD"
RS.UPDATE
创建临时表就是这么简单.
DIM RS AS ADO.RECORDSET
SET RS=NEW ADO.RECORDSET
RS.FIELDS.APPEND "ID",ADINTERGER,,ADFLDKEYCOLUMN
RS.FIELDS.APPEND "DESCRIPTION",ADVARCHAR,40
RS.OPEN LOCKTYPE:=ADLOCKBATCHOPTIMISTIC
RS.ADDNEW
RS.FIELDS(ID).VALUE=1
RS.FIELD(DESCRIPTION).VALUE="FIRST RECORD"
RS.UPDATE
创建临时表就是这么简单.