
数据库
文章平均质量分 79
hwt_211
这个作者很懒,什么都没留下…
展开
-
锁和事务
一,锁一致性 - 一次只允许一个用户修改数据完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户--------------------------------锁的分类|- ====行级锁:对用户正在访问的行进行锁定,其他用户可以访问除此行外的其他的行,行级锁是一种排他锁,防止其他事物修改此行在使用以下语句时,Oracle会自动应用原创 2012-05-09 21:22:25 · 331 阅读 · 0 评论 -
oracle数据库管理
一,sys用户和system用户的区别当一个oracle实例创建了之后,会自动创建system和sys用户区别:对于两者之间的区别,就类似 sys用户是董事长,system用户是总经理 具体的区别如下:·存储的数据的重要性不同sys:所有的oracle的数据字典的基表和动态视图都存放在sys用户中,这些基表和视图对oracle来说是至关重要的,有数据库自己来维护,任何用户不原创 2012-05-09 21:23:22 · 400 阅读 · 0 评论 -
oracle中的常用函数
1,===========字符函数·lower(char)·upper(char)·length(char)·substr(char,begin,length) 这里要注意一下下的是:begin 是从第几个开始,length是指取多长,不要和java中substring混淆了,java中的substring中的最后一个参数是取到第几个位置·replace(c原创 2012-05-09 21:22:52 · 374 阅读 · 0 评论 -
POI:使用EXECL模板 填入数据
EXECL 模板: 代码://导出新增资产申请凭证 public void downNewXls(List addassets,OutputStream osOutputStream) throws BiffException, IOException, RowsExceededException, WriteException { InputStream inputS原创 2012-10-18 16:38:16 · 1090 阅读 · 0 评论 -
数据闪回
1, alter table 表名 enable row movement; 2, flashback table 表名 to timestamp to_timestamp('2012-10-12 13:30:00','yyyy-mm-dd hh24:mi:ss'); -- 闪回到一个时间点3,alter table 表名 disable row movement;原创 2012-10-24 14:31:23 · 364 阅读 · 0 评论 -
触发器
mei触发器可以简单的分为:dml 触发器:主要是针对于对表中记录的update,insert , delete 操作·表级触发器 ·行级触发器:对于每一条记录都器作用 系统触发器:主要是真的oracle系统作用,如用户登录,注销的操作等 ddl 触发器:主要是真的在create table , drop table , create sequence , cre原创 2012-11-17 11:23:58 · 524 阅读 · 0 评论 -
in 和 exists , not in 和 not exists
in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * fr转载 2013-09-26 09:31:35 · 657 阅读 · 0 评论 -
Druid数据源的配置
Druid可以监控数据库访问性能,统计SQL的执行性能,提供了一个高效、功能强大、可扩展性好的数据库连接池。还提供数据库密码加密,直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。之前项目是用的DBCP的数据源,将DBCP改为Druid数据源是非常方便的,直接替换掉数据库bean即可原创 2014-10-21 15:17:51 · 948 阅读 · 0 评论 -
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分转载 2014-07-10 10:19:58 · 738 阅读 · 0 评论 -
amoeba的读写分离和负载均衡
Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。 主要解决了哪些问题:• 降低数据切分带来的复杂多数据库结构• 提供切分规则并降低数据切分规则给应用带来的影响• 降低db 与客户端的连接原创 2014-12-23 17:24:36 · 2948 阅读 · 0 评论 -
mysql 30 条sql优化建议
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is转载 2015-01-15 14:41:24 · 621 阅读 · 0 评论 -
赶集网mysql开发36军规
写在前面的话:总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。(一)核心军规(1)不在数据库做运算:cpu计算务必移至业务层(2)控制单表数据量:单表记录控制在1000w(3)控制列数量:字段数控制在20以内(4)平衡范式与冗余:为提高效率牺牲范式设计,冗余数据(5)拒绝3B:拒绝大sql,大事物,大批量转载 2015-03-25 16:44:53 · 648 阅读 · 0 评论 -
mysql执行计划
Explain语法EXPLAIN SELECT ……变体:1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN执行计划包含的信息 id转载 2015-11-09 12:41:28 · 465 阅读 · 0 评论 -
数据库数据导出成excel,excel数据导入数据库
一,把数据库的内容导出成excel文件(POI)@RequestMapping(params="method=downXls") public voiddownXls(HttpServletRequest request , HttpServletResponse response) throws ServletException, IOException, BiffExcept原创 2012-05-09 18:20:38 · 7452 阅读 · 0 评论 -
把excel导入到oracle中
转载:用Pl*SQL将Excel中数据导入到oracle中 [图片] 日志地址: 请用Ctrl+C复制后贴给好友。 1)首先,可以不按照数据库中的字段存放顺序,编辑形成Excel表中的数据,准备导入到oracle中:(2)把Excel文件另存为(文本文件(制表符分隔)(*.txt))在另存为之前要选中Excel中要另存为的数据,否则形成的txt文转载 2012-07-09 16:21:46 · 467 阅读 · 0 评论 -
用户,权限,角色
用户管理1,创建用户:create user 用户名 identified by 密码; 创建用户必须要具有dba的权限,而且创建了用户根本没有实际意义,必须要被赋予权限2,删除用户:drop user 用户名[ cascade]; 如果此用户创建了表,在删除用户的时候,需要带上cascade3,修改用户密码:修改本用户的密码: passw[ord] ;修原创 2012-05-09 21:20:50 · 394 阅读 · 0 评论 -
数据字典
数据字典数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者是sys用户。用户只能在数据字典上执行查询操作,而且维护和修改是由系统完成的。数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基础信息,普通用户不能直接访问数据字典的基表,数据字典视图是基于数据字典基表所建立起来的视图,普通用户可以通过查询数据字典视图取得系统的信息,数据字典视图主要包括:u原创 2012-05-09 21:23:47 · 702 阅读 · 0 评论 -
数据对象
第四章 数据库对象3.1 锁定的概念锁定是数据库用来控制共享资源并发访问的机制。在多用户环境下,多个用户可同时访问相同的数据。Oracle提供各式锁以确保在多用户环境下数据的完整性和一致性。在提交或回滚事务之前,Oracle会锁定正被修改的数据。在用户完成或回滚事务之后,锁会自动释放。只有在提交或回滚事务之后,其他用户才可以更新这些数据。这些锁定中有"只读锁"、"排它锁","共享排它锁转载 2012-05-10 07:29:58 · 570 阅读 · 0 评论 -
oracle的表查询
表的查询:(是做了一些比较有用的笔记,一些简单的语句就没有做了)1,====取消重复的字段 --- distinct SQL>select distinct mgr, dept from emp ;//注意,上的sql语句,取消重复的是(mgr,dept)这两个组合起来的2,====使用算术表达式:?显示每个雇员的年工资SQL> select ename , sal *原创 2012-05-09 21:21:51 · 400 阅读 · 0 评论 -
oracle约束
约束数据完整性: 数据的完整性用于确保数据库数据遵守从一定的商业和逻辑规则,在oracle中,数据完整性可以使用约束,触发器,应用程序(存储过程,函数) 三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选约束:约束用于确保数据库满足特定的商业规则。在oracle中,约束包括not null , unique , primary key ,原创 2012-05-10 07:27:47 · 522 阅读 · 0 评论 -
序列和同义词
一,序列 1:定义: 仅向前的数字变量(和SQL中的自动编号有点像 identity(1,2) ) 2:如何定义一个序列 格式: create sequence 序列名称> start with 起始数> increment by 增长量> [maxvalue 值]原创 2012-05-10 07:28:36 · 592 阅读 · 0 评论 -
oracle常用命令
oracle常用命令:一,用户连接1, conn 用户名/密码@网络服务名(连接到哪个实例) [as system / as sysoper ] ,当特殊用户连接的时候,需要带上as system 或者as sysoper demo: SQL> conn scott/tiger ; SQL> conn sys/change_on_install as sysdba;原创 2012-05-09 21:17:56 · 332 阅读 · 0 评论 -
oracle表管理
一,表名和列名的命名规则·必须是以字母开头·长度不能超过30个字符·不能使用oracle的关键字·只能使用如下字符:a-z , A-Z , 0-9 , $,_ ,# 等二,数据类型字符型:char : 定长 最大2000 字符varchar2 : 变长 最大4000字符 clob : 字符型大数据,最大为4GB数值型:number: 范围 -1原创 2012-05-09 21:21:23 · 403 阅读 · 0 评论 -
表空间的管理
管理表空间和数据文件 表空间是数据库的逻辑组成部分,从物理上讲,数据库存放在数据文件中,从逻辑上讲,数据库存放在表空间中,表空间由一个或是多个数据文件组成oracle的逻辑结构包括表空间,段,区和块组成数据库--》表空间--》段---》区--》块1,建立表空间 一般情况下,建立表空间是特权用户或是dba来执行的,如果其他用户想建立表空间,需要拥有create tables原创 2012-05-09 21:24:12 · 372 阅读 · 0 评论 -
存储过程
存储过程1,创建存储过程:·简单的存储过程create or replace procedure sp_pcd_1 is -- 定义一个存储过程,不要忘了写 is 了begin update emp set sal =sal - 200 where empno = 7788;end;·有参数的存储过程--参数只要写名类型就可以,不要定义长度,就像函数的参原创 2012-05-11 12:57:49 · 457 阅读 · 0 评论 -
PL编程基础
1,块(编程):存储过程 触发器 函数 包2,命名规范:定义变量:建议 v_ 作为前缀 如:v_name ;定义常量:建议c_作为前缀 如:c_num;定义游标:建议 _cursor最为后缀 如:emp_cursor;定义例外:建议e_最为前缀 如:e_notData;,3,块编程:·定义部分 ·执行部分·异常处理部分declare原创 2012-05-11 12:55:43 · 595 阅读 · 0 评论 -
mysql:日期函数
MYSQL日期函数大全对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。 这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date转载 2012-06-09 11:00:34 · 764 阅读 · 0 评论 -
Twitter的分布式自增ID算法snowflake (Java版)
Twitter的分布式自增ID算法snowflake (Java版)概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitt转载 2017-03-05 12:29:14 · 949 阅读 · 0 评论