随笔分类 - Oracle
摘要:转自:count(*)、count(val)和count(1)的解释一、关于count的一些谣言: 1、count(*)比count(val)更慢!项目组必须用count(val),不准用count(*),谁用扣谁钱! 2、count(*)用不到索引,count(val)才能用到。 3、count(...
阅读全文
摘要:引自:数据库SQL优化大总结之 百万级数据库优化方案1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from...
阅读全文
摘要:引自:Oracle 树操作(select…start with…connect by…prior)oracle树查询的最重要的就是select…start with…connect by…prior语法了。依托于该语法,我们可以将一个表形结构的以树的顺序列出来。在下面列述了oracle中树型查询的常...
阅读全文
摘要:SELECT a.object_id, a.session_id, b.object_nameFROM v$locked_object a, dba_objects bWHERE a.object_id = b.object_id
阅读全文
摘要:select t.table_name from user_constraints twhere t.constraint_type='R' and t.r_constraint_namein(select s.constraint_name from user_constraints swhere...
阅读全文
摘要:引自数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来 定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城 市”部分,那么就非要
阅读全文
摘要:Select语句完整的执行顺序:1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;6、计算所有的表达式;7、使用order by对结果集进行排序。8、select 集合输出。
阅读全文
摘要:一直以为oracle中count(列)比count(*) 快,这篇文件解释了一下:http://blog.csdn.net/szstephenzhou/article/details/8446481
阅读全文
摘要:merge into:在两个表之间,根据与源表联接的结果,对目标表执行插入、更新或删除操作。Oracle在9i引入了merge into命令,SQL Server 2008也引入merge into。不多说了,实例对比一下吧!oracle merge into:[sql] view plaincopy/*droptablea;droptableb;*/createtablea(aidintegernull,anamevarchar2(10)null);createtableb(bidintegernull,bnamevarchar2(10)null);insertintoavalues(1,&
阅读全文
摘要:该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做了如下改动。1,insert 和update是可选的 2,UPDATE 和INSERT 后面可以跟WHERE 子句 3,在ON条件中可以使用常量来insert 所有的行到目标表中,不需要连接到源表和目标表 4,UPDATE 子句后面可以跟delete 来去除一些不需要的行。举例:createtablePRODUCTS ( PRODUCT_IDINTEGER, PRODUCT_NAMEVARCHAR2(60), CATEG
阅读全文
浙公网安备 33010602011771号