什麼DBMS?
是SQL Server嗎?
如是SQL2000,則改用Table變量就可達到你的目的。

解决方案 »

  1.   

    临时表就是放在内存中的,oracle也好,sybase也好,我想sqlserver也应该一样
      

  2.   

    create global temporary table tablename(col....)...
      

  3.   

    oracle的临时表是建在内存中?不对吧
      

  4.   

    请问N_chow(一劍飄香),Table变量类型如何建立、操作。
      

  5.   

    sql server的临时表不是在内存,我试过,ORACLE应该一样,如果在内存,我把这个表的数据插入几百兆,系统不就死了?
      

  6.   

    我自己的感觉也是这样的,就是临时表并不是在内存中。我往里面插入了10万条数据发现内存并没有什么特别的开销。但有没有办法把temporary segment建在内存中呢。
    把数据库映射到内存中的原理是什么样的?
      

  7.   

    TO:uje(sky)
    天呀你有多少银子买内存呀??????不是内存也要用.40G吧????????
      

  8.   

    在sqlserver7.0中有个配置选项叫tempdb in ram,如果置上就将tempdb数据库放在内存中来加快速度,但sqlserver2000中已经不支持,系统会自动优化。
    oracle中是不是也有这个选项我就不清楚,但我想应该会有的。
    其实,我觉得不管哪种数据库,生成的中间记录都会首先放在内存中,只有在内存不够的时候才会写到硬盘上,一般不需要人工干预。使用本地临时表,系统肯定会首先在内存中处理的。
      

  9.   

    warp1977(),
    具體的介紹可以去查Book onlineDeclare @tmp Table (id int IDENTITY(1,1),CName varchar(30))
    Insert into @tmp values ('Test')操作跟table差不多,只是有些地方有限制。
      

  10.   

    to uje(sky):哈哈哈,你倒是挺可爱的!
    warp1977()是问N_chow(一劍飄香)表变量怎么定义的一个用户,不是你想像的一个函数什么的
      

  11.   

    可以用ADO建立recordset对象rs,然后在记录集中添加你需要的字段,再打开该记录集rs,然后就可以将数据保存到rs记录集中,用完后可以关闭该记录集,也可以使用save方法将该记录集保存到一个文件中,以后还可以用open打开该记录集。
      

  12.   

    create table #tt(
      a char(8)
    )
    Sql server就这样建就可以了,不过若是打开记录集时,关闭时,表就自动清除了,小心为妙。
      

  13.   

    MSSQL7.0及以上版本取消了tempdb in ram的做法.
      

  14.   

    我现在用的是ORACLE8.1.7.0.0,有什么办法没。
      

  15.   

    听progame(来来往往,不知所云.......)的吧!(不知道sqlserver里为什么没有数组的概念)记得内存配大点儿。
    在sql中,table变量和游标是开在内存的,而临时表是放在磁盘存储区的,微软的培训教材里有讲到啊。 
      

  16.   

    总觉得不该考虑替oracle优化, 可以找一些oracle优化的资料看看
      

  17.   

    程序中要定义类和对象,并且要使用类和对象!!! 因为程序的目的就是为了展现面向对象的特点和优点!!!
    假定: 对一家公司的员工进行管理:
    包括人员名字,出生日期,加入公司的年份,那个部门(用ring0---ring9表示10个部门) ,工资标准等(多多不限)
    要求有对(假如有员工改名, 可以实现改名, 尽管使用中不常见, 但主要是为了实现面向对象思想)(更改工资标准)(开除员工和增加员工)(通过工龄即加入公司的时间来对员工进行排序, 同一年的可随便排)(通过部门的对员工排序, 个部门的集中在一起显示,譬如ring0的排了下了跟着就是全是ring1部门的)
    请兄弟们快点回帖, 把源代码和程序发给我, 搞定后就给200分!!!
    这是我期末考试的题目, 兄弟们要快快快!!
     我的email :  [email protected]
      

  18.   

    特别特别关注,我以前也在csdn上问过同样的问题,好像没有什么好的解决办法.
      

  19.   

    如果在SQLSERVER上可以用:
     "select 字段1、字段2、…… from 源表名 into #临时表名 where 1>2" 来创建一个与源表结构相同的临时表。如果在VFP中你可以直接用:"create cursor 临时表名 (字段1 字段类型,……)"来创建.
      

  20.   

    内存文件映射。<<Windows 核心编程>>有较详细的介绍
      

  21.   

    用vs 7.0 中的vc#。
    //新建一个表的字段
    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了。
    希望我的答复能给你帮助。
      

  22.   

    简单点说把,用数组的话就把数据存在内存中了,但是没有了SQL得灵活检索能力。如果把数据存在表中但有能把表建在内存中的话,就可以不但有内存级的响应速度还有了SQL得复杂条件检索的能力。
      

  23.   

    http://www.csdn.net/expert/topic/273/273128.xml?temp=.7270624有你想要的.
      

  24.   

    try this:
    alter table jlandzpa cache;
      

  25.   

    declare @TMPTable Table(a int ,b int...... )
    Insert into @TMPTable select * from YourTable
    select * from @TMPTable
      

  26.   

    你是想在前端还是後端做内存数据库?假如你是用Delphi编写前端应用 kbmMW(http://www.optical.dk/delphi/prod04.htm)
    或者其他 n-tier工具试试
      

  27.   

    利用ADO,先在部件中引用ADO2.0 或 ADO2.5
    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
    创建临时表就是这么简单.
      

  28.   

    利用ADO,先在部件中引用ADO2.0 或 ADO2.5
    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
    创建临时表就是这么简单.