oracle
微风吹过的夏天2016
Java程序员
展开
-
Oracle数据库Where条件执行顺序 及Where子句的条件顺序对性能的影响
1、Oracle数据库Where条件执行顺序:由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则: 1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量,记录的条件必须写在WHERE子句的末尾. 例如: (低效) SEL转载 2014-09-04 16:52:18 · 1247 阅读 · 0 评论 -
查看SQL执行计划
1.oracle在PL/SQL下按F5查看执行计划。设置计划内容:pl/sql-tools-preference-plan window2.mysqlexplain 例如: explain select * from user;原创 2016-03-31 10:32:55 · 276 阅读 · 0 评论 -
oracle 10g SQL函数
oracle 10g sql function 官方文档:http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm原创 2016-07-08 11:50:21 · 254 阅读 · 0 评论 -
SQL语句行列转换(附带数据库、表、视图操作)
本来只是想解决怎么把数据的行和列进行转换的,但最近觉得一些数据库SQL语句的操作,很久没用了,有点陌生。所以也就随笔记录一些简单但很基本的操作。我的数据库是MSSQL2005.第一部分主要的操作包含:数据库的创建、删除,表的增、删、改,表中数据的增、删、改、查,视图的操作。 1 --查询数据库是否存在 2 if exists ( select * from sysdata转载 2016-07-07 13:50:39 · 897 阅读 · 0 评论 -
case when语句
写法一:select (case when tx=1111 then 1 when tx=2222 then 2 else 0 end) as txno from mytable;写法二:select (case tx when 1111 then 1 when 2222 then 2 else 0 end) as txno from mytable;原创 2016-07-07 13:34:00 · 363 阅读 · 0 评论 -
oracle SQL语句心得
oracle总结:1、''和null在oracle中都代表null过滤null,用''中间加空格: nvl(columnname,' ')2.oracle小数格式化2是保留2为小数,0为保留整数。round是四舍五入。trunk是截断。round(columnname,2)3.取每个班的第一名,可以用rank over partion 分析函原创 2015-11-25 14:00:47 · 754 阅读 · 0 评论 -
Oracle 的for update行锁
键字: oracle 的for update行锁 SELECT...FOR UPDATE 语句的语法如下: SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED]; 其中: OF 子句用于指定即将更新的列,即锁定行上的特定列。 WAIT 子句指定等待其他用户释放锁的转载 2016-07-11 10:59:01 · 533 阅读 · 0 评论 -
SQL心得
1.多个做左接连写select * from a left join b on a.id=b.id left join c on a.id=c.id;2.多个内连接连写select * from a,b,c where a.id=b.id and a.id=c.id;3.先按ID分组,分组结果再按Name分组select count(*),id,name from a grou原创 2016-03-07 16:43:43 · 292 阅读 · 0 评论 -
oracle表分区详解
从以下几个方面来整理关于分区表的概念及操作:表空间及分区表的概念表分区的具体作用表分区的优缺点表分区的几种类型及操作方法对表分区的维护性操作1.表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该转载 2016-03-30 16:07:24 · 207 阅读 · 0 评论 -
left join案例
String sql="select NVL(rci.rci_id,rdi.rdi_id) as resId,NVL(rci.rci_name,rdi.rdi_name) as resName," + "NVL(rci.rci_type,rdi.rdi_type) as channelDeviceType,iri.iri_index_type as resType," + "ivi原创 2015-01-30 16:57:42 · 563 阅读 · 0 评论 -
提高group by语句的执行效率
distinct A,B,C过滤掉3个字段都相同的记录原创 2016-03-30 17:12:01 · 3140 阅读 · 0 评论