随笔分类 -  oracle

 
sql语句之聚集函数和多表查询
摘要:1、集合函数总结1.1 where从句中不能使用集合函数,如果需要在判断语句中使用集合函数,使用having从句。1.2 集合函数,除COUNT,GROUPING,GROUP,其余的函数在计算时都忽略NULL。1.3 在select从句中没有使用集合函数的列,就必须出现在group by从句中。即一个列要么在select从句中使用集合函数,要么放在group by从句中,包括在having中出现的列。1.4 where从句和having从句可以在SQL语句中一起使用,作用不同。where从句作用与group之前的条件判断,having从句作用与group之后的条件判断。2、多表查询2.1 se 阅读全文
posted @ 2013-05-16 11:42 gavin_echo 阅读(930) 评论(0) 推荐(0)
sql 语句优化2
摘要:一.如何加快查询速度? 1、升级硬件 2、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。 3、扩大服务器的内存 4、增加服务器CPU个数 5、对于大的数据库不要设置数据库自动增长,它会降低服务器的性能 6、在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担降低性能。如果表很大,在表扫描的期间将表锁住,禁止其他的联接访问表,后果严重。 7、查询时不要返回不需要的行、列 8、用selecttop100/10Percent来限制用户返回的行数或者SETROWCOUNT来限制操作的行 9、在IN后面 阅读全文
posted @ 2013-05-16 10:31 gavin_echo 阅读(160) 评论(0) 推荐(0)
sql语句优化1
摘要:一、操作符优化1、IN 操作符用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。推荐方案:在业务密集的SQL当中尽量不采用IN操作符,用EXISTS 方案代替。2、NOT IN操作符此操作是强列不 阅读全文
posted @ 2013-05-14 11:08 gavin_echo 阅读(131) 评论(0) 推荐(0)
pl/sql基础
摘要:在PL/SQL块中,可执行部分是由一系列语句组成,由对数据 库进行操作的SQL语句,PL/SQL语言的各种流程控制语句。 在块中对数据库查询,增、删、改等对数据的操作是由SQL命 令完成的 举例1: SQL> set serveroutput on SQL> declare dno1 number:=10; dname1 varchar2(40); begin select dname into dname1 from dept where deptno=dno1; dbms_output.put_line( ‘deptno=’||to-char(dno1)||’dname=’|| 阅读全文
posted @ 2013-05-09 10:47 gavin_echo 阅读(213) 评论(0) 推荐(0)