精华内容
下载资源
问答
  • sql临时表

    2016-12-19 10:45:48
    你说的临时表,应该由两种。第一种是没名字的临时表,这种临时表可以理解为子查询所形成的表,这类表没有名字。之和这个session的这个sql操作有关,其他的session,以及该session的其他sql操作均无法查询。第二种是...

    你说的临时表,应该由两种。
    第一种是没名字的临时表,这种临时表可以理解为子查询所形成的表,这类表没有名字。之和这个session的这个sql操作有关,其他的session,以及该session的其他sql操作均无法查询。
    第二种是有名字的临时表,在过程中创建的临时表,这类临时表在这个过程的运行中一直存在,只要该过程还在执行,那么该临时表就处于可查询状态。不过限定的范围为这个过程所在的session,当过程执行完毕后随着session的释放,临时表释放。
    所以一般来说其他的session不能查临时表的内容。位置的temp表空间,不过应该差不了

    展开全文
  • 在某些情况下,服务器会在处理query的时候组建内部临时表,这种表有两种存在形式:1)、位于内存中,使用的是MEMORY存储引擎(内存临时表)2)、位于磁盘上,使用MyISAM存储引擎(硬盘临时表)服务器可能在最初创建的是...

    一、MySQL如何使用内部临时表?

    在某些情况下,服务器会在处理query的时候组建内部临时表,这种表有两种存在形式:

    1)、位于内存中,使用的是MEMORY存储引擎(内存临时表)

    2)、位于磁盘上,使用MyISAM存储引擎(硬盘临时表)

    服务器可能在最初创建的是内存临时表,之后当其变大到一定程度时再转变为磁盘临时表。对于

    服务器什么时候创建内部临时表或者临时表使用哪种存储引擎,用户不能直接控制。

    二、那么服务器创建临时表的场景有哪些呢?

    1、order by子句和group by子句不同

    例如:order by price group by

    name

    2、在多表联合查询中,order by或者group

    by使用了不是第一个表的列

    例如:select * from T1,T2 order by

    T1.price group by T2.name

    3、order by中使用了distinct关键字

    例如:order by distinct(price)

    4、from语句中的子查询产生的派生表

    5、select

    语句中指定了SQL_SMALL_RESULT关键字

    SQL_SAMLL_RESULT的意思是告诉MySQL,结果会很小,请直接使用内存临时表

    SQL_SAMLL_RESULT必须和GROUP

    BY、DISTINCT或者DISTINCTROW一起使用

    一般情况下,我们都不会使用SQL_SAMLL_RESULT这个选项,让服务器自己选择即可。

    三、临时表的相关配置参数

    1)、tmp_table_size:指定系统创建的内存临时表最大大小;

    2)、max_heap_table_size:指定用户创建的内存表最大大小;

    注意:最终系统创建的内存临时表大小是取上述两个配置值中的最小值。

    服务器最初创建的是内存临时表,后面当其变大到一定程度时再转变为磁盘临时表。

    由服务器创建的内部临时表和通过create

    table显示创建的memory内存表是不同的。

    对于使用create table

    显示创建的memory内存表允许的大小是由max_heap_table_size

    决定的。

    当服务器创建了内部临时表(无论是在内存中的还是在磁盘上的),状态变量created_tmp_tables

    值都会增加。如果服务器创建了临时表在磁盘上(无论是初始创建在磁盘还是后来转化到磁盘),

    状态变量created_tmp_disk_tables的值都会增加。

    四、MySQL复制和临时表temporary table

    1)、用户创建临时表需要有create temporary

    table权限,使用temporary关键字。如:

    create temporary table

    tmp_table(name varchar(10) not null,sex char(1) not null);

    2)、create temporary

    table这种方式创建的临时表只在当前连接可见,当这个连接关闭的时候,会自动drop掉。

    这意味着你可以在两个不同的连接里使用相同的临时表名,并且相互不会冲突。

    你也可以创建一个和当前存在的非临时表的表名字一样的临时表,当临时表存在的时候,存在的非临时表会被隐藏,

    如果临时表被drop了,那么存在的非临时表就可见了。

    五、临时表的限制

    1)、临时表只能用在memory、myisam、merge或者innodb存储引擎中;

    2)、临时表不支持mysql cluster;

    3)、在同一个query中,你只能查找一次临时表,例如:

    select * from temp_table,temp_table

    AS t2;

    会产生报错:can't reopen

    table:'temp_table'

    4)、show tables不能显示出临时表;

    5)、不能使用rename重命名临时表,可以使用alter

    table来替代:

    alter table T1 RENAME T2

    展开全文
  • 建立临时表有哪几种方法? 临时表一般存储在临时表空间分两种,事务级和会话级一般用来存储临时需要的数据事务级的临时表在事务提交后自动删除,会话级临时表在会话结束后删除会话级create global ...

    临时表和正式表有什么区别?
    临时表有什么作用?
    建立临时表有哪几种方法?

     


     

    临时表一般存储在临时表空间
    分两种,事务级和会话级
    一般用来存储临时需要的数据
    事务级的临时表在事务提交后自动删除,会话级临时表在会话结束后删除
    会话级
    create global temporary table tablename(col1 coltype,..) on commit preserve rows;
    事务级
    ..(与会话级相同).. on commit delete rows;


     

    我们在创建数据表的时候,若没有特殊的指明,那么我们创建的表是一个永久的关系型表格,也就是说,这个表格中对应的数据,除非是我们显示的删除的话,表中的数据是永远都存在的。相对应的,在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会自动清除。
      1、 事务临时表的管理。

      (1) 事务临时表的创建。

      Oracle数据库根据临时表的性质不同,可以分为事务临时表与会话临时表。事务临时表是指数据只有在当前事务内有效。一般情况下,如果在创建数据表的时候,没有特殊指明这表是会话临时表的话,则该表默认为事务临时表。

      我们可以以下面的语句创建事务临时表。


      Create global temporary table Temp_user
      (ID NUMBER(12) Primary key,name varchar2(10));


      笔者建议:

      这个创建临时表的语句中,虽然没有显性的指明该表是事务临时表,但是,默认的情况下,若没有指明是什么临时表的话,系统默认是事务临时表。我们要创建事务临时表时,可以不指定关键字。但是,这查看起来比较麻烦。我建议,无论在建立什么临时表,都要利用具体的关键字来显形的指明,这大家看起来都方便。一般可以利用ON COMMIT DELETE ROWS关键字来说明该表就是事务性的临时表,而不是会话性质的临时表。

      (2) 事务临时表数据的变化分析。

      事务临时表的话,当事务结束的时候,就会清空这个事务临时表。所以,当我们在数据库临时表中插入数据后,只要事务没有提交的话,该表中的数据就会存在。但是,当事务提交以后,该表中的数据就会被删除。而且,这个变化不会在重做日志中显示。

      具体事务临时表与会话临时表有什么区别,我们在介绍完会话临时表后会详细介绍。

      2、 会话临时表的管理。

      会话临时表,顾名思义,是指数据只在当前会话内有效的临时表。关闭当前会话或者进行新的连接之后,数据表中的内容就会被清除。那会话临时表跟事务临时表到底有什么区别呢?我们以一个实例来看其中的区别。

      (1) 首先,创建一个会话临时表。


      CREATE GLOBAL TEMPOPARY TABLE TEMP_USER
      (ID NUMBER(12) Primary key,name varchar2(10))
      ON COMMIT PRESERVE ROWS;


      也就是说,会话临时表跟事务临时表的创建语法大致相同,只有最后的关键字有区别。不过两个表虽然类似,但是其内部的处理机制还是有比较大的区别。

    (2) 往该表中插入数据。 


     Insert into TEMP_USER values(1001,’victor’);


      往数据库临时表中插入数据的方法,跟往普通表中插入数据的方法是一样的,都利用insert into语句进行操作。该临时表的数据在会话结束之前都是存在这个表格中的。

      (3) 提交该事务并查询相关记录。

      我们利用COMMIT的语句把该事务提交以后,再用SELECT查询语句进行查询。我们知道,若该表是事务临时表的话,则当该事务结束以后,该表中的内容就会被删除。但是,这是会话临时表,所以即使该事务提交了,但是,利用SELECT语句进行查询时,仍然可以查到该条员工记录。

      (4) 结束当前会话,并重新连接数据库。

      关闭当前会话,从新连接到数据库后,再利用SELECT语句查询时,会有什么结果呢?此时,就查不到我们刚才插入的数据。这也就是说,在关闭对话的时候,数据库系统已经把原有的数据删除了。从以上的分析我们可以看中,会话临时表与事务临时表主要的差异就在于删除数据时机的不同。事务性临时表是在事务提交的时候清除数据,而会话性临时表则是在关闭当前会话的时候清除临时表。只要当前会话没有关闭,即使事务完成了,会话临时表中的数据仍然存在,不会被清除。

      3、 临时表管理需要注意的地方。

      临时表相对与其他表来说,是一种比较特殊的表结构,但是,作用又比较大,Oracle数据库若没有这种表的话,还真是不行。为了管理好这种特殊的表,我们需要注意几个细节。

      一是要注意临时表不能永久的保存数据。只所以称为临时表,就是因为该表中的内容只是临时存在的。当一个会话或者事务结束时,该表中的内容就会被自动清空。所以,在临时表中,一般不要保存永久数据。在实务中,有个不好的操作习惯,就是有些人在测试数据库的时候,喜欢把测试的数据放在临时数据表中。其实,这是对Oralce临时数据表认识的错误。若我们在数据库中,把要测试的数据,如销售定单的内容放在数据库的临时表中的话,则在其他功能中,如要测试销售定单日报表的功能时,就会找不到相关的定单内容。因为离开特定的会话或者事务的话,临时表中的内容就会不存在了。所以,Oralce数据库中所讲的临时表不是给我们来存储测试数据的。

      二是临时表中的数据不会备份、恢复,对其的修改也不会有任何的日志信息。若我们在操作数据库的时候,往数据库的临时表中存入了一些信息。此时突然服务器出现当机。此时,我们想通过数据库备份文件恢复数据库临时表中的内容,或者查看临时表的日志信息,都是无法实现的。也就是说,当服务器以外死机重新启动后,临时表中的内容就会被清空。在数据库的任何地方,如数据库备份文件或者日志信息中,都查不到在重新启动之前数据库临时表中保存了哪些内容,就好象根本没有对临时表进行操作一样。

      三是临时表表空间的管理。临时表在Oracle数据库中,也是表的一种,其也有对应的表空间。在创建临时表的时候,若我们不指定表空间的话,默认的表空间是SYSTEM。对于临时表的表空间管理的话,我们需要注意一个小的细节。若我们把临时表的表空间归属为SYSTEM的话,也就是说,在创建临时表的时候不具体指定具体的表空间,则这个默认的表空间是不能被删除的。而若我们在创建临时表表空间的时候,指定为SYSTEM以外的表空间的话,则在不需要这表空间的时候,我们可以删除。所以,为了后续管理的方便,笔者还是建议大家在创建临时表的时候,要指定表空间。

      四是要注意一个问题,临时表只是数据是临时的,而表仍然是永久的。也就是说,当一个会话结束或者一个事务完成时,其临时表中的数据虽然删除了,但是,临时表本身仍然是存在的。也就是说。Oracle数据库中的临时表表是全局的,只是数据是临时的。这跟SQL Server数据库系统具有比较大的区别。其实,这两个数据库在临时表的处理上有很大的不同,各有各的特色。在以后的文章中,我会专门叙述这两种数据库在临时表管理机制上的不同,欢迎大家关注。

      五是要注意Oracle数据库在给临时表填入数据的时候,不会对相应的记录加锁。也就是说,当在临时表上执行DML语句的操作时,不会给记录加锁,也不会将数据的变化内容写到重做(REDO)日志中。所以不能用临时表保存永久的数据,也不能对临时表进行共同的操作。这是新手在管理数据库临时表经常会碰到的问题。

      六是临时表与普通表之间不能相互转换。在一般情况下,临时表建立后,该表就不能被转换成永久表。所以,这也说明一个道理,利用临时表作为数据库设计时候的测试表不合适。这个临时表可能跟我们按字面意思理解的临时表有误,不是我们所认为的为了测试表结构而建立的临时表。这一点是我们在刚开始接触ORACLE数据库时,经常会犯的错误。

    转载于:https://www.cnblogs.com/kingjiong/archive/2010/03/25/1694936.html

    展开全文
  • 点击上方蓝色字关注我们~来源:cnblogs.com/youyoui/p/7851007.html准备工作一般分页查询使用子查询优化使用 id 限定优化使用临时表优化关于数据表的id说明当需要从数据库查询的表有上万条记录的时候,一次性查询...
    0a8179ed0d27600d086e6bb7860adb85.gif点击上方蓝色字关注我们~来源:cnblogs.com/youyoui/p/7851007.html
    • 准备工作
    • 一般分页查询
    • 使用子查询优化
    • 使用 id 限定优化
    • 使用临时表优化
    • 关于数据表的id说明

    当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。

    准备工作

    为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。
    • 表名:order_history
    • 描述:某个业务的订单历史表
    • 主要字段:unsigned int id,tinyint(4) int type
    • 字段情况:该表一共37个字段,不包含text等大型数据,最大为varchar(500),id字段为索引,且为递增。
    • 数据量:5709294
    • MySQL版本:5.7.16 线下找一张百万级的测试表可不容易,如果需要自己测试的话,可以写shell脚本什么的插入数据进行测试。以下的 sql 所有语句执行的环境没有发生改变,下面是基本测试结果:
    select count(*) from orders_history;
    返回结果:5709294三次查询时间分别为:
    • 8903 ms
    • 8323 ms
    • 8401 ms

    一般分页查询

    一般的分页查询使用简单的 limit 子句就可以实现。limit 子句声明如下:
    SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
    LIMIT 子句可以被用于指定 SELECT 语句返回的记录数。需注意以下几点:
    • 第一个参数指定第一个返回记录行的偏移量,注意从0开始
    • 第二个参数指定返回记录行的最大数目
    • 如果只给定一个参数:它表示返回最大的记录行数目
    • 第二个参数为 -1 表示检索从某一个偏移量到记录集的结束所有的记录行
    • 初始记录行的偏移量是 0(而不是 1)
    下面是一个应用实例:
    select * from orders_history where type=8 limit 1000,10;
    该条语句将会从表 orders_history 中查询offset: 1000开始之后的10条数据,也就是第1001条到第1010条数据(1001 <= id <= 1010)。数据表中的记录默认使用主键(一般为id)排序,上面的结果相当于:
    select * from orders_history where type=8 order by id limit 10000,10;
    三次查询时间分别为:
    • 3040 ms
    • 3063 ms
    • 3018 ms
    针对这种查询方式,下面测试查询记录量对时间的影响:
    select * from orders_history where type=8 limit 10000,1;select * from orders_history where type=8 limit 10000,10;select * from orders_history where type=8 limit 10000,100;select * from orders_history where type=8 limit 10000,1000;select * from orders_history where type=8 limit 10000,10000;
    三次查询时间如下:
    • 查询1条记录:3072ms 3092ms 3002ms
    • 查询10条记录:3081ms 3077ms 3032ms
    • 查询100条记录:3118ms 3200ms 3128ms
    • 查询1000条记录:3412ms 3468ms 3394ms
    • 查询10000条记录:3749ms 3802ms 3696ms
    另外我还做了十来次查询,从查询时间来看,基本可以确定,在查询记录量低于100时,查询时间基本没有差距,随着查询记录量越来越大,所花费的时间也会越来越多。针对查询偏移量的测试:
    select * from orders_history where type=8 limit 100,100;select * from orders_history where type=8 limit 1000,100;select * from orders_history where type=8 limit 10000,100;select * from orders_history where type=8 limit 100000,100;select * from orders_history where type=8 limit 1000000,100;
    三次查询时间如下:
    • 查询100偏移:25ms 24ms 24ms
    • 查询1000偏移:78ms 76ms 77ms
    • 查询10000偏移:3092ms 3212ms 3128ms
    • 查询100000偏移:3878ms 3812ms 3798ms
    • 查询1000000偏移:14608ms 14062ms 14700ms
    随着查询偏移的增大,尤其查询偏移大于10万以后,查询时间急剧增加。这种分页查询方式会从数据库第一条记录开始扫描,所以越往后,查询速度越慢,而且查询的数据越多,也会拖慢总查询速度。

    使用子查询优化

    这种方式先定位偏移位置的 id,然后往后查询,这种方式适用于 id 递增的情况。
    select * from orders_history where type=8 limit 100000,1;select id from orders_history where type=8 limit 100000,1;select * from orders_history where type=8 andid>=(select id from orders_history where type=8 limit 100000,1)limit 100;select * from orders_history where type=8 limit 100000,100;
    4条语句的查询时间如下:
    • 第1条语句:3674ms
    • 第2条语句:1315ms
    • 第3条语句:1327ms
    • 第4条语句:3710ms
    针对上面的查询需要注意:
    • 比较第1条语句和第2条语句:使用 select id 代替 select * 速度增加了3倍
    • 比较第2条语句和第3条语句:速度相差几十毫秒
    • 比较第3条语句和第4条语句:得益于 select id 速度增加,第3条语句查询速度增加了3倍
    这种方式相较于原始一般的查询方法,将会增快数倍。

    使用 id 限定优化

    这种方式假设数据表的id是连续递增的,则我们根据查询的页数和查询的记录数可以算出查询的id的范围,可以使用 id between and 来查询:
    select * from orders_history where type=2and id between 1000000 and 1000100 limit 100;
    查询时间:15ms 12ms 9ms这种查询方式能够极大地优化查询速度,基本能够在几十毫秒之内完成。限制是只能使用于明确知道id的情况,不过一般建立表的时候,都会添加基本的id字段,这为分页查询带来很多便利。还可以有另外一种写法:
    select * from orders_history where id >= 1000001 limit 100;
    当然还可以使用 in 的方式来进行查询,这种方式经常用在多表关联的时候进行查询,使用其他表查询的id集合,来进行查询:
    select * from orders_history where id in
    (select order_id from trade_2 where goods = 'pen')limit 100;
    这种 in 查询的方式要注意:某些 mysql 版本不支持在 in 子句中使用 limit。

    使用临时表优化

    这种方式已经不属于查询优化,这儿附带提一下。对于使用 id 限定优化中的问题,需要 id 是连续递增的,但是在一些场景下,比如使用历史表的时候,或者出现过数据缺失问题时,可以考虑使用临时存储的表来记录分页的id,使用分页的id来进行 in 查询。这样能够极大的提高传统的分页查询速度,尤其是数据量上千万的时候。

    关于数据表的id说明

    一般情况下,在数据库中建立表的时候,强制为每一张表添加 id 递增字段,这样方便查询。如果像是订单库等数据量非常庞大,一般会进行分库分表。这个时候不建议使用数据库的 id 作为唯一标识,而应该使用分布式的高并发唯一 id 生成器来生成,并在数据表中使用另外的字段来存储这个唯一标识。使用先使用范围查询定位 id (或者索引),然后再使用索引进行定位数据,能够提高好几倍查询速度。即先 select id,然后再 select *;本人才疏学浅,难免犯错,若发现文中有错误遗漏,望不吝赐教。

    在公众号菜单中可自行获取专属架构视频资料,包括不限于 java架构、python系列、人工智能系列、架构系列,以及最新面试、小程序、大前端均无私奉献,你会感谢我的哈

    往期热门文章:

    1,架构的本质:如何打造一个有序的系统?2,分布式高可靠之负载均衡,今天看了你肯定会3,分布式数据之缓存技术,一起来揭开其神秘面纱4,分布式数据复制技术,今天就教你真正分身术5,数据分布方式之哈希与一致性哈希,我就是个神算子分布式存储系统三要素,掌握这些就离成功不远了想要设计一个好的分布式系统,必须搞定这个理论,分布式通信技术之发布订阅,干货满满9,分布式通信技术之远程调用:RPC10 秒杀系统每秒上万次下单请求,我们该怎么去设计

    b09a1062e50041f302632b380fed2ed9.png

    展开全文
  • 数据库和ado知识

    2018-10-30 15:27:19
    排序(order by id asc / desc)(默认是排序?) 分组(group by ),单条件分组,多条件分组(分组时,要注意的事情[位置,列]) 筛选(Having的使用),它和where的区别 类型转换(CAST,CONVERT) union,union all的...
  • C++程序员面试宝典

    热门讨论 2013-04-01 13:36:19
    面试题138 有哪种表的实现方式 156 面试题139 链表有哪分类 157 13.2 队列 159 面试题140 什么是队列 159 13.3 栈 160 面试题141 什么是栈 160 面试题142 如何访问栈中的元素 162 13.4 树 162 面试题143 树的...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    3.Oracle数据库的工作模式有哪两种?它们之间有有何区别? 答案: 在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。其中,在专用服务器...
  • 9.5.7 临时表和redo/undo 317 9.6 分析undo 321 9.6.1 什么操作会生成最多和最少的undo? 321 9.6.2 ORA-01555: snapshot too old错误 323 9.7 小结 334 第10章 数据库表 335 10.1 表类型 335 10.2 术语 337 ...
  • SQL语法大全

    2014-03-30 11:00:11
    COUNT(*|字段名) 对数据行数的统计或对某一栏值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum...
  • CruiseYoung提供的带详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Oracle SQL高级编程》的源代码 对应的书籍资料见: Oracle SQL高级编程(资深Oracle专家力作,...
  • CruiseYoung提供的带详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐) 基本信息 原书名: Pro Oracle SQL 原出版社: ...
  • CruiseYoung提供的带详细书签的电子书籍目录 ... Oracle Database 11g数据库管理艺术(涵盖DBA必知必会的所有... 6.3.3 收缩临时表空间 183 6.3.4 默认临时表空间 184 6.3.5 临时表空间组 184 6.4 默认的永久...
  • 9.5.6 临时表和redo/undo 296 9.6 分析undo 299 9.6.1 什么操作会生成最多和最少的undo 299 9.6.2 ORA-01555: snapshot too old 错误 301 9.7 小结 310 第10章 数据库表 311 10.1 表类型 311 10.2 术语 313 ...
  • 大话数据结构

    2018-12-14 16:02:18
    2.3两种算法的比较 19 高斯在上小学的一天,老师要求每个学生都计算1+2+…+100的结果,谁先算出来谁先回家…… 2.4算法定义 20 现实世界中的算法千变万化,没有通用算法可以解决所有问题。甚至一个小问题,某个...
  • Toad 使用快速入门

    2008-11-27 15:22:14
     注意,如果是选择了专门建立toad这个用户的话,需要先修改一下脚本,指定用户的默认表空间和临时表空间。 需要使用Oracle8i 的Profile analyzer,必须运行ToadProfiler.sql  需要加强Toad的安全性,必须...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、...
  • 这里介绍两种方式禁止不必要的自动运行程序。这样做的好处除了能加快启动速度外,还能提高系统在运行中的稳定性! 1、可以使用优化大师软件进行优化。 2、开始--运行--输入“msconfig”--确定--启动--将不要自动...
  • 中小学自动排课管理系统

    热门讨论 2011-03-24 14:54:21
    往往经过一天的冥思苦想排出来的课程,却总会发现纰漏,导致课程需要修改。而修改课程一般都是牵一发而动全身,令人非常苦恼。 鑫钜排课系统的出现解决了以上所有难题,本系统特聘一位从事20余年学校教务...
  • 1.1 我该如何决定使用哪种整数类型? 30 1.2 为什么不精确定义标准类型的大小? 31 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、...
  • 1.1 我该如何决定使用哪种整数类型? 30 1.2 为什么不精确定义标准类型的大小? 31 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、...
  • Oracle专家高级编程--详细书签版

    热门讨论 2012-08-21 11:57:09
    5.1.8 临时表和重做/回滚 151 5.1.9 分析重做 153 5.2 回滚 154 5.2.1 什么产生最多/最少的撤消 154 5.2.2 SET TRANSACTION 154 5.2.3 “ORA-01555:Snapshot too old” 155 5.3 小结 164 第6章 数据库表 166...
  • 千里马酒店前台管理系统V7使用手册

    热门讨论 2011-06-16 14:09:38
    在千里马的研发队伍中,除了优秀的系统设计师、高级程序员等技术人员外,也包括来自国内五星级酒店的前厅部经理、财务总监、电脑部主管等酒店专业人士,也专业的美编设计人性化的用户界面,我们坚持以用户为中心、...
  • 1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、...
  • 宏昕医院管理软件,医院收费系统

    热门讨论 2011-04-12 10:16:59
    收费的时候系统对药品的处理有两种方式,一种是把药品传递到药房,由药房核对后再进行发药,收费本身对药品库存不产生影响,适用于网络版系统,另外一种是根据收费药品的数量自动直接发药,冲减库存,不用经过药房...
  • 第1章 声明和初始化 基本类型 1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器...
  • 1.1 我该如何决定使用哪种整数类型? 1  1.2 为什么不精确定义标准类型的大小? 2 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、...
  • 056 计算两种彩票的中头奖概率 128 057 计算中奖率 129 ◎分类汇总函数 130 058 求所有商品的平均销量 130 059 计算隐藏某些商品时的平均利润 132 Chapter 03 统计函数应用实例 134 ◎计数函数 135 060...

空空如也

空空如也

1 2 3 4 5
收藏数 84
精华内容 33
关键字:

临时表有哪两种