随笔分类 -  database&sql

摘要:与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值。这在某些情况下,例 如通过ATM查看账户信息的时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“精确”的保证几乎没有任何意义,反而会产生很大的延 迟。他们需要的是一个“大约”的数字以及更快的处理速度。但某些情况下MongoDB会锁住数据库。如果此时正有数百个请求,则它们会堆积起来,造成许多问题。我们使用了下面的优化方式来避免锁定:每次更新前,我们会先查询记录。查询操作会将对象放 阅读全文
posted @ 2014-03-19 18:34 沐风山 阅读(397) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html 阅读全文
posted @ 2014-03-18 15:17 沐风山 阅读(108) 评论(0) 推荐(0)
摘要:mysql触发器四要素:监视地点:监视的哪个表?监视操作:insert,update,delete?触发操作:insert,update,delete?触发时间:after,before?创建触发器语法:Create trigger triggerNameafter/before insert/update/delete on tableNamefor each row #mysql此处写死,仅支持行触发,oracle、sql_server支持表触发#Beginsql语句 #一句或多句 insert/update/delete语句#End删除触发器语法:Drop trigger trigger 阅读全文
posted @ 2014-03-18 15:01 沐风山 阅读(267) 评论(0) 推荐(0)
摘要:Mongo数据模型一个Mongo系统(参考上述部署)包含一组数据库一个database包含一组collection一个collection包含一组document一个document是一组field一个field是一对key-value一个key是一个名字(字符串)一个value可以是一个基本类型,如字符串,整数,浮点数,时间戳,二进制等等documentvalue的数组 阅读全文
posted @ 2014-03-17 11:12 沐风山 阅读(157) 评论(0) 推荐(0)
摘要:Java连接mongoDBJava连接MongoDB需要驱动包,个人所用包为mongo-2.10.0.jar.可以在网上下载最新版本.package org.dennisit.mongodb.study;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.Mongo;public class MongoDBUtil { public static void main(String[] args) { Mongo mo... 阅读全文
posted @ 2014-02-10 23:37 沐风山 阅读(1046) 评论(0) 推荐(0)
摘要:1.新建Project新建Java Project,并把mongo-java-driver驱动加入到项目bulid path中,如果你使用的是maven增加依赖。 org.mongodb mongo-java-driver 2.10.1 2.连接上MongoDB//>2.10版本MongoClient mongo = new MongoClient( "localhost" , 27017 );//老版本 Mongo mongo = new Mongo("localhost", 27017);如果需要验证,需要输入用... 阅读全文
posted @ 2014-02-10 23:03 沐风山 阅读(310) 评论(0) 推荐(0)
摘要:mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。Altas架构:Atlas是一个位于应用 阅读全文
posted @ 2014-02-08 21:36 沐风山 阅读(754) 评论(0) 推荐(0)
摘要:一、简介Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。主要功能:1.读写分离2.从库负载均衡3.IP过滤4.自动分表5.DBA可平滑上下线DB6.自动摘除宕机的DB二、Atlas相对于官方MySQL-Proxy的优势1.将主流程中所有Lua代码用C重写,Lua仅用于管理接口2.重写网络模型、线程模型3.实 阅读全文
posted @ 2014-02-08 20:01 沐风山 阅读(675) 评论(0) 推荐(0)
摘要:Oracle中的空字符串基本上是被当成空NULL来处理的,我们可以从下面的得到印证。select nvl('','NULL') from dual 返回 'NULL'select 1 from dual where '' is null 返回 1如果我们在往数据表里插数据的时候,把某个值赋成空串(''),而查询条件加入了诸如col_x = ''等条件的话,结果是无法查出来的。反过来,在使用||连接符时,NULL值又被当作空串来使用。select NULL || 'XX' from d 阅读全文
posted @ 2014-01-25 00:03 沐风山 阅读(971) 评论(0) 推荐(0)
摘要:windows 下使用面安裝版MySql5.5步驟如下1、解壓下載的壓縮文件到指定文件夾。如:F:\DB\mysql-5.5.18-win32\mysql-5.5.18-win32;2、在根目錄F:\DB\mysql-5.5.18-win32\mysql-5.5.18-win32下創建配置文件my.ini,可從根目錄中的my-huge.ini,my-innodb-heavy-4G.ini,my-large.ini,my-medium.ini,my-small.ini下複製一個將其名稱改為my.ini;用記事本打開my.ini并在其中添加如下內容# set basedir to your ins 阅读全文
posted @ 2013-08-08 00:05 沐风山 阅读(266) 评论(0) 推荐(0)
摘要:1、解压 mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysql/5.1.html)2、在 F 盘建立目录 MySql\MySqlServer5.1\ 3、把解压的内容复制到 F:\MySql\MySqlServer5.1\4、在 F:\MySql\MySqlServer5.1\ 中找 my-large.ini 把它复制成 my.ini5、在 my.ini 中找 [mysqld] ,添加以下语句;basedir="F:/MySql/MySqlServer5.1/"datadir=&q 阅读全文
posted @ 2013-08-04 23:41 沐风山 阅读(987) 评论(0) 推荐(0)
摘要:1)安装Oracle 11g 64位2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名 为:instantclient_11_2):D:\Oracle\app\YM\product\instantclient_11_2。拷贝数据库安装根目录下的一个目录D:\Oracle\app\YM\product\11.2.0\dbhome_1 阅读全文
posted @ 2013-07-14 23:07 沐风山 阅读(735) 评论(0) 推荐(0)
摘要:分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错——ORA-14402:更新分区关键字列将导致分区的更改。 可以通过打开表的row movement属性来允许对分区字段的update操作。 语句如下: alter table tableName enable row movement 之后便可进行分区字段的数据更新 阅读全文
posted @ 2013-06-19 23:37 沐风山 阅读(2025) 评论(0) 推荐(0)
摘要:1、表结构中log_id 非空、且为主键字段create table TL_M_QRTZ_LOG( log_id NUMBER(8) not null, job_id NUMBER(8) not null, seq_no NUMBER(4), start_time DATE not null, end_time DATE, exec_state VARCHAR2(256) default '0', expr_eval VARCHAR2(256), fail_reason VARCHAR2(1024))2、建立触发器create or ... 阅读全文
posted @ 2013-06-18 16:13 沐风山 阅读(3062) 评论(0) 推荐(0)
摘要:Excel数据通过plsql导入到Oracle1 准备Excel导入数据2 把Excel文件另存为(文本文件(制表符分隔)(*.txt))或者将Excel文件另存为(Unicode文本)之后唯一要注意的地方就是,要将生成的Txt文本的文件编码格式转换为UTF-83 把新生成的student.txt文件导入到plsql打开plsql连接到要导入的oracle数据库再打开Tools --> Text importer…--> Open data file 选择要导入的txt文件4 设置导入数据表结构新生成的表字段会对应Excel文件第一行标题,但新生成的表字段Type需要设置,可以设置 阅读全文
posted @ 2013-06-17 22:29 沐风山 阅读(274) 评论(0) 推荐(0)
摘要:1)代码自动完成 Tools->Preferences->User Interface->Key Configuration。 找到Tools/Code Assistant,修改为自己常用的快捷键。 顺便把Edit/Selection/Uppsercase改成Alt+F5,Edit/Selection/Lowercasee改成Ctrl+F5,这个和UE保持一致。 把Edit/Redo改成Ctrl+Y,和大多工具保持一致。 2)自动替换 和重复输入说88,我用几个字母自动替换。 To... 阅读全文
posted @ 2013-06-17 22:20 沐风山 阅读(771) 评论(0) 推荐(0)
摘要:一、下载MySQLhttp://www.mysql.org/downloads我下载的是mysql-noinstall-5.0.67-win32.zip二、安装过程1、解压缩 mysql-noinstall-5.0.67-win32.zip 到一个C盘,重新命名为 MySQL5 。假定MYSQL_HOME=C: MySQL52、编辑mysql的运行配置文件my.ini,如果没有,可以拿my-medium.ini复制然后更名成 my.ini代码如下:[mysqld]basedir = "C:MySQL5" (根据实际环境去配置)datadir = "C:MySQL5 阅读全文
posted @ 2013-06-05 01:14 沐风山 阅读(368) 评论(0) 推荐(0)
摘要:昨天看有个帖子说到的失效对象重新编译的问题,然后发现自己公司里也出现莫名其妙的失效对象。SQL code--创建自动编译失效过程事务记录表declare tabcnt integer := 0;begin select count(*) into tabcnt from dba_tables where table_name='RECOMPILE_LOG'; if tabcnt = 0 then execute immediate 'create table recompile_log(rdate date,errmsg varchar2(200))'; end 阅读全文
posted @ 2013-05-29 01:22 沐风山 阅读(361) 评论(0) 推荐(0)
摘要:dba_开头 dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces 数据库表空间信息 dba_data_files 数据文件设置信息 dba_temp_files 临时数据文件信息 dba_rollback_segs 回滚段信息 dba_ts_quotas 用户表空间配额信息 dba_free_space 数据库空闲空间信息 dba_profiles 数据库用户资源限制信息 dba_sys_privs 用户的系统权限信息 dba_tab_privs 用户具有的对象权.. 阅读全文
posted @ 2013-05-29 00:09 沐风山 阅读(165) 评论(0) 推荐(0)
摘要:从8i开始,oracle开始提供Move的命令。我们通常使用这个命令,将一个table segment从一个tablespace移动到另一个tablespace。Move实际上是在block之间物理的copy数据,那么,我们可以通过这种方式来降低table的HWM。我们先通过一个实验来看看move是如何移动数据的。1.建表并插入数据:SQL> create table sjh.test1(id int) tablespace users;表已创建。SQL> insert into sjh.test1 values(1);已创建 1 行。SQL> insert into sjh 阅读全文
posted @ 2013-05-28 23:42 沐风山 阅读(2217) 评论(0) 推荐(0)