teradata与oracle in/exists/not in/not exists 比较
在 exists的执行计划是一样的;2> exists/not exists执行计划的唯一区别是Inclusion vs. exclusion;3> in/not in :用teradata中任何值与unknown,因此优化器需要考虑空值比较的第三种逻辑值:exists则有些绕,而且exists好像只用于关联子查询(其他子查询当然也可以用,可惜没意义);2> 在不能确保字段非空的情况下,建议使用in/not in;3> 实际测试两个时间长短并不稳定(各有长短),因此不能在实际操作之前确切说出哪个是最好的Left Outer Join来完成,并且有时这么做可以获得更好的效率 另外,not in要比(not null),则使
索引的应用规律总结
建立正确的索引,是提高系统性能的有效方法。正确的索引可能使查询效率提高1000倍,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。 索引的效果是和检索数据的SQL语句、数据库的繁忙程度、数据库空间大小相关的,当数据库性能下降,需要通过调整索引达到提高性能的时候,DBA应该充分考虑到影响索引性能的这些因素来重新构造索引。合理的索引设计要建立在对各种查询的分析和预测上。一、索引的管理成本1、 存储索引的磁盘空间2、 执行数据修改操作(INSERT、UPDATE、DELETE)产生的索引维护3、 在数据处理时回需额外的回退空间
Oracle中dual表的用途
dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:1、查看当前用户,可以在 SQL Plus中执行下面语句 select user from dual;2、用来调用系统函数 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;--获得当前系统时间 select SYS_CONTEXT('USERENV','TERMINAL') from dual;--获得主机名 select SYS_CONTEXT('USERENV','language') from dual;--获得当前 localeselect dbms_random.random from dual;--获得一个随机数3、得到序列的下一个值或当
oracle中创建索引的原则
Oracle资料,整理的创建索引的几条原则:需要平衡query合DML的需要,常用于(子)查询的表应建立索引; 把索引建到不同的表空间中; 用统一的extent大小: 五个block的倍数或者tablespace指定的MINIMUM EXTENT的倍数; 创建索引考虑用NOLOGGING参数,重建索引的时候也一样; 创建索引时INITRANS值应该比相应的table的值高一些; 对常用SQL语句的where条件中的列建立唯一索引或组合索引,组合条件查询中相应的组合索引更有效; 对于组合索引,根据列的唯一值概率,安排索引顺序; 如果一个列具有很低的数据基数,并且或者可具有空值,不应作为
ORACLE常用命令
Oracle常用命令第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> alter system checkpoint; 3.adding online redo log groups sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m; 4.adding online redo log members sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5.changes the name of the online
Oracle中TO_DATE格式
TO_DATE格式(以时间:2007-11-02 13:45:25为例)Year: yy two digits 两位年 显示值:07yyy three digits 三位年 显示值:007yyyy four digits 四位年 显示值:2007Month: mm number 两位月 显示值:11mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02ddd number 当年第几天 显示值:02dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示friday sp
新,生活
新的生活开始了,当然要有所改变![@more@]工作三年了,一直都想把在工作中学习到的新知识整理记录下来,可一直都没有把这个事做出来。现在换了个新工作环境,我发现在这里是逼着你要不断的学习,不断的充实自己,所有趁这个机会,就开个blog吧,把之前想做的做了。