oracle-mysql-sqlserver
文章平均质量分 77
Java我人生
java我人生,即使跑在路上被拌倒无数次,也不要规规矩矩走一辈子,岁月不止,奋斗不息,在为生活奔波的同时更希望为技术而痴狂,能够拥有自己的一家互联网公司!
展开
-
Oracle中table函数的使用详解
表函数可接受查询语句或游标作为输入参数,并可输出多行数据。该函数可以平行执行,并可持续输出数据流,被称作管道式输出。应用表函数可将数据转换分阶段处理,并省去中间结果的存储和缓冲表。 1. 用游标传递数据利用游标 REF CURSOR 可将数据集(多行记录)传递到PL/SQL函数:SELECT * FROM TABLE (myfunction (CURSOR (SELE转载 2015-01-07 14:51:24 · 3614 阅读 · 0 评论 -
Druid连接池-阿里巴巴开源JDBC组件
Druid在连接池领域里可以说是比较火的,是阿里巴巴开源的JDBC连接池、监控组件,下面就简单介绍它一下。它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。 SQLParser 。功能: . 可以监控数据库访问性能,Drui原创 2015-04-12 00:50:18 · 16977 阅读 · 2 评论 -
存储过程的优缺点
为什么要用存储过程几个去 IBM 面试的兄弟回来抱怨:去了好几个不同的 IBM 项目组,几乎每个面试官问到数据库的时候都要问用没用过存储过程,烦人不?大家去面的程序员,又不是 DBA,以前的项目都没有用到存储,不照样运行的好好的?存储过程真的那么重要吗,它到底有什么好处呢?笔者认为,存储过程说白了就是一堆 SQL 的合并。中间加了点逻辑控制。但是存储过程处理比较复杂的业务时比较转载 2015-04-19 22:40:43 · 15098 阅读 · 2 评论 -
Druid连接池及监控在spring中的配置
Druid连接池及监控在Spring配置如下:[html] view plaincopybean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> prope原创 2015-04-21 08:49:25 · 42435 阅读 · 2 评论 -
oracle到底能不能insert into 多个values!?
稍微熟悉oracle的都知道,如果我们想一条SQL语句向表中插入多个值的话,如果INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;这样会报错的,因为oracle是不支持这种写法的,如果多个INSERT INTO VALUEES(各个值);这样以“;”隔开一同执行也是不行的,oracle也是不支持的。 不过MySQL这两种方式都是支持的。原创 2015-04-21 08:51:10 · 91191 阅读 · 16 评论 -
Oracle 执行计划(Explain Plan) 说明
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位,定位后就可以解决问题。 一.转载 2015-05-19 08:38:54 · 1702 阅读 · 0 评论 -
Oracle执行计划中的索引
Oracle执行计划根据索引的类型与where限制条件的不同,有5种类型的索引扫描,分别是:索引唯一扫描(index unique scan),索引范围扫描(index range scan),索引全扫描(index full scan),索引快速扫描(index fast full scan)索引跳跃式扫描 (index skip scan)。 1、索引唯一扫描(index uniq原创 2015-05-19 08:40:32 · 3732 阅读 · 0 评论 -
oracle游标详解与应用
1,什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互的机制。 ②关系数据库中的操作是在完整的行集合上执行的。 由 SELECT 语句返回的行集合包括满足该语句的 WHERE 子句所列条件的所有行。由该语句返回完整的行集合叫做结果集。 应用程序,尤其是互动和在线应用程序,把完整的结果集作为一个单元处理并不总是有效的。 这些应用程序需要转载 2015-05-19 08:37:58 · 2557 阅读 · 0 评论 -
SQL报错error:索引中丢失IN或OUT参数
简单记录下:今天mybatis中遇到一个错误:org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO law_enforce_user(user_code,name,sex,birthday)原创 2015-06-08 08:44:00 · 114628 阅读 · 3 评论 -
一次非常有意思的SQL优化经历:从30248.271s到0.001s
场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY KEY,name varchar(10))数据70000条翻译 2015-05-19 08:42:15 · 4573 阅读 · 6 评论 -
oracle索引原理(b-tree,bitmap,聚集,非聚集索引)
一个B树索引只有一个根节点,它实际就是位于树的最顶端的分支节点。可以用下图一来描述B树索引的结构。其中,B表示分支节点,而L表示叶子节点。 对于分支节点块(包括根节点块)来说,其所包含的索引条目都是按照顺序排列的(缺省是升序排列,也可以在创建索引时指定为降序排列)。每个索引条目(也可以叫做每条记录)都具有两个字段。第一个字段表示当前该分支节点块下面所链接的索引块中所包转载 2015-09-01 08:57:30 · 4991 阅读 · 0 评论 -
jetty服务器数据源配置JNDI-Oracle,MySQL,SQLServer,DB2等
1、下载jetty服务器(8.1.0.RC2),解压到任意目录下 http://dist.codehaus.org/jetty/jetty-hightide-8.1.0/jetty-hightide-8.1.0.RC2.zip2、新建jetty-dataSource.xml文件,放在${JETTY_HOME}\contexts目录下原创 2015-04-11 23:56:57 · 7535 阅读 · 0 评论 -
实战:上亿数据如何秒查
最近在忙着优化集团公司的一个报表。优化完成后,报表查询速度有从半小时以上(甚至查不出)到秒查的质变。从修改SQL查询语句逻辑到决定创建存储过程实现,花了我3天多的时间,在此总结一下,希望对朋友们有帮助。数据背景首先项目是西门子中国在我司实施部署的MES项目,由于项目是在产线上运作(3 years+),数据累积很大。在项目的数据库中,大概上亿条数据的表有5个以上,千万级数据的表10个以上,百翻译 2015-04-11 13:15:37 · 20733 阅读 · 8 评论 -
Oracle存储过程及参数理解
一、过程 (存储过程) 过程是一个能执行某个特定操作的子程序。使用CREATE OR REPLACE创建或者替换保存在数据库中的一个子程序。示例1:声明存储过程,该过程返回dept表行数DECLARE PROCEDURE getDeptCount AS deptCount INT; BEGIN SELECT COUNT(*) INTO d转载 2015-01-07 14:38:45 · 7284 阅读 · 0 评论 -
oracle中hint的使用-SQL语句优化
在SQL语句优化过程中,经常会用到hint,以下是在SQL优化过程中常见Oracle中"HINT"的30个用法1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';转载 2015-01-07 14:16:34 · 1746 阅读 · 0 评论 -
Oracle的优化器Optimizer详解
Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql Developer、Toad等工具去看一个语句的执行计划,不过你可能对Rule、Choose、Firs转载 2015-01-07 14:09:55 · 2614 阅读 · 0 评论 -
程序员老鸟写sql语句的经验之谈、百万数据查询优化技巧三十则
一、程序员老鸟写sql语句的经验之谈做管理系统的,无论是bs结构的还是cs结构的,都不可避免的涉及到数据库表结构的设计,sql语句的编写等。因此在开发系统的时候,表结构设计是否合理,sql语句是否标准,写出的sql性能是否优化往往会成为公司衡量程序员技术水平的标准。我们程序员不是dba,不需要时刻关注sql运行时间,想方设法优化表结构,存储空间,优化表读取速度等等,但是在开发系统时,时刻保转载 2015-01-11 13:29:01 · 10809 阅读 · 0 评论 -
如何写出高性能SQL语句—优化SQL查询
1、 首先要搞明白什么叫执行计划?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。产生一个转载 2015-01-11 13:17:27 · 5537 阅读 · 0 评论 -
Oracle中sign函数与DECODE函数
比较大小函数 sign函数语法:sign(n)函数说明:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0示例:一、select sign( 100 ),sign(- 100 ),sign( 0 ) from dual; SIGN(100) SIGN(-100) SIGN(0) ———- ———- ———- 1 -1 0二、转载 2014-12-23 16:28:58 · 1751 阅读 · 0 评论 -
Oracle中Decode()函数使用详细
decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途 呢? 先构造一个例子,假设我们想给智转载 2014-12-23 16:25:38 · 1715 阅读 · 0 评论 -
Oracle数据库的找回DBA账户的密码
这是大二时候写在QQ空间里的一篇文章,我还记得当时这个问题花费了我整一天的时间去搞定它,所以那时体会颇深,所以那时特意记录了下了这个解决的过程,今天突然有兴致想找出几篇大学时写在空间里的文章和大家分享下,以防类似当年的我发生的话,又得花费很多时间,以下为当时记录的全部内容: 今天登录用用户SCOTT登陆Oracle,编辑所属的表时,发现无相应的权限,于是想登陆sys,以DBA的身原创 2015-01-30 23:06:59 · 8724 阅读 · 0 评论 -
找回MD5加密的密码及MD5加密数据库中数据
有时,在开发过程中,如果不小心更改掉了项目管理员帐号的密码而又忘了,存在数据库里的密码又是MD5加密后的,这时候怎么办?最为菜鸟的我,刚开始也很迷茫,不过向前辈们请教了请教,自己也查了查资料,特意整理记录一下,并分享给大家。 前提是你知道这个密码存在在哪个表的哪个字段,只不过是加密了,如果是oracle数据库的话,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 (原创 2015-03-22 22:36:50 · 4704 阅读 · 0 评论 -
oracle触发器详解与使用
目录(?)[+]触发器类型DML触发器替代触发器系统触发器编写触发器时需要注意以下几点创建触发器触发器触发次序创建DML触发器创建替代INSTEAD OF触发器创建系统事件触发器系统触发器事件属性使用触发器谓词重新编译触发器删除和使能触发器触发器和数据字典数据库触发器的应用举例数据库触发器的应用实例触发器类型DML触发器替代触发器系统触发器编写触发器时需转载 2015-01-07 14:46:16 · 2781 阅读 · 0 评论 -
excel导入功能中去掉重复数据—解决思路
今天客户提出一个问题,能否在产品中2个子系统中的实现所有的excel导入功能过滤掉已有的数据。 我思考了一番,想到了3种大概的解决思路: 1、在插入每条数据的时候,查到对应的表找出是否存在对应的数据,如存在就跳过。 2、把整个excel文件的里的内容存入到一张临时表中,然后查询去重并插入到目的表中。select distinct into 或i原创 2015-01-09 22:10:39 · 22382 阅读 · 1 评论 -
如何在高并发分布式系统中生成全局唯一Id
又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文,后续再奉上。最近还写了一个发邮件的组件以及性能测试请看《NET开发邮件发送功能的全面教程(含邮件组件源码)》 ,还弄了个MSSQL参数化语法生成器,会在9月整理出来,有兴趣的园友可以关注下我的博客。 分享原由,最近公司用到,并且在找最合适的方案,希望大家多参与讨论和提出新方案。我和我的小伙伴们也讨论了这个主题,我受益匪浅啊转载 2015-09-01 09:00:14 · 24673 阅读 · 4 评论