数据库
文章平均质量分 90
独步秋风
这个作者很懒,什么都没留下…
展开
-
数据库连接池的实现及原理
对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。连接复用。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得到高效、安转载 2016-11-02 22:11:45 · 486 阅读 · 0 评论 -
oracle一个创建用户、创建表空间、授权、建表的完整过程
1.首先我们可以用scott用户以sysdba的身份登录oracle. Sql代码 conn scott/tiger as sysdba 2.然后我就可以来创建用户了. Sql代码 create user zzg identified by zzg123; 3.创建好用户我们接着就可以修改用户的转载 2017-11-16 22:44:50 · 760 阅读 · 0 评论 -
oracle将普通表改为分区表
Oracle的普通表没有办法通过修改属性的方式直接转化为分区表,必须通过重建的方式进行转变,下面介绍三种效率比较高的方法,并说明它们各自的特点。 方法一:利用原表重建分区表。 步骤: SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE); 表已创建。 SQL> INSERT INTO转载 2017-11-16 23:02:26 · 6693 阅读 · 0 评论 -
ORACLE常用命令学习
二、sys用户和system用户(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限默认密码是manager(2)system用户是管理操作员,权限也很大,具有sysoper角色,但没有create database的权限,默认密码为change_oninstall(3)一般对数据库的维护,使用system用户登录就足够了三、o转载 2017-11-16 22:56:00 · 1657 阅读 · 0 评论 -
Oracle sql语句执行顺序
一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。5)选择优化器,不同的优化器一般产生不同的“执行计划”6)选择连接方式,转载 2017-11-16 22:58:23 · 3751 阅读 · 1 评论 -
oracle删除数据后的恢复
要达到删除数据,有以下几种方式都可以:1、delete2、drop一个表3、truncate一个表重要的不是怎么删除一个表,而是误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)。对于delete方法,可以利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据: A、确定删除数据转载 2017-11-16 23:01:27 · 327 阅读 · 0 评论 -
ORACLE触发器详解
ORACLE PL/SQL编程之八: 把触发器说透 本篇主要内容如下:8.1 触发器类型8.1.1 DML触发器8.1.2 替代触发器8.1.3 系统触发器8.2 创建触发器8.2.1 触发器触发次序8.2.2 创建DML触发器8.2.3 创建替代(INSTEAD OF)触发器8.2.3 创建系统事件触发器8.2.4 系统触发器事件属性8.转载 2017-11-02 23:29:45 · 214 阅读 · 0 评论 -
赋予oracle执行存储过程权限和创建表权限
grant create any table to username;grant create any procedure to username; grant execute any procedure to username; 创建执行JOB权限grant create job to 用户;grant manage scheduler to 用户; 给一个表的转载 2017-11-19 08:47:37 · 9676 阅读 · 0 评论 -
oracle SQL语句取本周本月本年的数据
12--国内从周一到周日 国外是周日到周六 select to_char(sysdate-1,'D')from dual;--取国内的星期几 去掉减一取国外的星期 --取本周时间内的数据 select * from table where DTIME >=trunc(next_day(sysdate-8,1)+1) a转载 2017-11-19 23:15:02 · 1432 阅读 · 0 评论 -
一分钟教你知道乐观锁和悲观锁的区别
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改转载 2017-12-27 22:43:26 · 172 阅读 · 0 评论 -
数据库访问性能优化
特别说明:1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;3、 本文未深入数据库优化中最核心的执行计划分析技术。 读者对像:开发人员转载 2016-10-31 23:52:23 · 508 阅读 · 0 评论 -
在一个千万级的数据库查寻中,如何提高查询效率?
在一个千万级的数据库查寻中,如何提高查询效率?1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认转载 2016-10-31 23:45:24 · 201 阅读 · 0 评论 -
ORACLE数据库的索引类型及其适用场景
逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引NonUnique 非唯一索引Function-based函数索引Domain 域索引物理上:Partitioned 分区索引NonPartitioned 非分区索引B-tree:Normal 正常型B树Rever Key 反转型B树 Bitmap转载 2016-10-31 23:35:35 · 669 阅读 · 0 评论 -
oracle,mysql,SqlServer三种数据库的分页查询的实例
MySql:MySQL数据库实现分页比较简单,提供了 LIMIT函数。一般只需要直接写到sql语句后面就行了。LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数。例如:select * from table WHERE … LIMIT转载 2016-11-05 00:07:24 · 292 阅读 · 0 评论 -
通过sql语句查询实现分页
通过sql语句分页 如:SELECT * FROM users limit 3,2 从第4条记录开始后续显示两行,索引从0开始 (服务器机制)该方式的优缺点如下: 优点:操作便捷(利用服务器内存),适合于大数据量操作,对底层数据库服务器起到保护作用。 缺点:增加了和数据库交互的次数,访问速度较慢。代码实现如下:首先我们定义一个pageBean用来定义分页的相关信息。包括:p转载 2016-11-06 00:06:21 · 9214 阅读 · 0 评论 -
Oracle数据库面试练习题
1.列出至少有一个员工的所有部门。分析:每个部门有多少员工 —— 根据部门编号进行分组select deptno,count(*) from emp group by deptno having count(*) >= 1;2.列出薪金比“SMITH”多的所有员工。分析:先查询出SMITH工资 : select sal from emp where ename=’SMITH';转载 2016-10-30 23:48:59 · 1673 阅读 · 0 评论 -
Oracle基础 自定义函数
一、函数 函数与存储过程相似,也是数据库中存储的已命名PL-SQL程序块。函数的主要特征是它必须有一个返回值。通过return来指定函数的返回类型。在函数的任何地方可以通过return expression语句从函数返回,返回类型必须和声明的返回类型一致。 语法: create [or replace] function function_name [(parameter_转载 2016-11-11 12:26:04 · 719 阅读 · 0 评论 -
Oracle—自定义function语法
摘要: Oracle,function,自定义 用户自定义函数是存储在数据库中的代码块,可以把值返回到调用程序。函数的参数有3种类型:(1)in参数类型:表示输入给函数的参数,该参数只能用于传值,不能被赋值。(2)out参数类型:表示参数在函数中被赋值,可以传给函数调用程序,该参数只能用于赋值,不能用于传值。(3)in out参数类型:表示参数既可以传值转载 2016-11-11 12:31:41 · 766 阅读 · 0 评论 -
oracle 自定义函数其他知识
理解 in out inout说得通俗一点:IN:作为传入参数,只能在存储过程中使用OUT: 作为输出参数,只能在存储过程中赋值IN OUT: 即可使用,也可赋值.例:proc(a in number, b in number, c out number) isbeginc := a + b;enda,b作为传入参数,c是传出参数,在调用的地方,我们原创 2016-11-11 12:44:30 · 287 阅读 · 0 评论 -
自定义oracle函数入门
用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序。调用时如同系统函数一样,如max(value)函数,其中,value被称为参数。函数参数有3种类型。IN 参数类型:表示输入给函数的参数。OUT 参数类型:表示参数在函数中被赋值,可以传给函数调用程序。IN OUT参数类型:表示参数既可以传值也可以被赋值。1、语法格式:SQL语法方式创建的语法格式为:转载 2016-11-11 12:46:03 · 304 阅读 · 0 评论 -
SQL truncate 、delete与drop区别
相同点:1.truncate和不带where子句的delete、以及drop都会删除表内的数据。 2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。 不同点:1. truncate 和 delete 只删除数据不删除表的结构(定义)drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);转载 2016-10-31 23:11:13 · 174 阅读 · 0 评论 -
Oracle 事务总结
1、事务概念: 概念:在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么完全成功执行,完成整个工作单元操作,要么一点也不执行。 主要特性:确保数据库的完整性。 2、事务的ACID特性 对一组SQL语句操作构成事务,数据库操作系统必须确保这些操作的原子性,一致性,隔离性,转载 2016-10-31 23:17:44 · 315 阅读 · 0 评论 -
十分钟看懂时序数据库(I)-存储
摘要:2017年时序数据库忽然火了起来。开年2月Facebook开源了beringei时序数据库;到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序数据库产品TSDB,成为支持其发展制造,交通,能源,智慧城市等产业领域的核心产品,同时...2017年时序数据库忽然火了起来。开年2月Face...转载 2018-03-15 14:54:28 · 3137 阅读 · 0 评论