cdshrewd

每个人都是一个矛盾体,正能量和阴暗面从来都是共生的

OraLight DBTools使用说明

自己用Java开发的一个Oracle数据库小管理工具,感兴趣的可以自行下载使用。

链接:http://pan.baidu.com/s/1slk1ScP 密码:gkhn

如有疑问,可以联系:cdshrewd@163.com

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

 

OraLight DBTools使用说明 - cdshrewd - cdshrewd的博客

有生之年,有幸遇见,岂敢错过。

埋头做事,抬头看路,方可达

Better yourself day by day.

近期每天的时间分配:睡眠8h,工作10h,雅思1h,健身1h,其他4h

花一年时间仔细想想,你到底要什么?

IPC issue

When a process is on the same machine as the server, use the IPC protocol for connectivity instead of TCP. Inner Process Communication on the same machine does not have the overhead of packet building and deciphering that TCP has. I've seen a SQL job that runs in 10 minutes using TCP on a local machine run as fast as one minute using an IPC connection. The difference in time is most dramatic when the Oracle process has to send and/or receive large amounts of data to and from the database. For example, a SQL*Plus connection that counts the number of rows of some tables will run about the same amount of time, whether the database connection is made via IPC or TCP. But if the SQL*Plus connection spools much data to a file, the IPC connection will often be much faster -- depending on the data transmitted and the machine workload on the TCP stack. 

So from these explanation, it's very clear for those applications:
which are running on the same box with its corresponding Database. From Performance perspective, it is good since it will save "overhead of packet building and deciphering" that TCP has. 

I've used these in several big Telcom projects in the world. 

For how to configure it:
1. you should add one IPC line in the LISTENER.ORA
2. You should also add one IPC line in the TNSNAMES.ORA

应该把生命浪费在有意义的事情上

应该把生命浪费在有意义的事情上


MySQL与MongoDB的操作对比

转自http://blog.chinaunix.net/uid-23078678-id-2554525.html

MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。
以我们公司项目为例,在早期的项目中,都在使用关系型数据库,用过SQLServer,Oracle,DB2,后来全部转向Mysql,原因很简单:Mysql在性能不错的情况下,有着开源优势。Mysql的事务性与高性能是我们主要考虑的。后来,由于项目要用到用户系统,即会有大量的用户数据进行交互--海量存储,Mysql的读写速度会有一点瓶颈,于是我们就想到了最近发展很强势的Nosql。在Nosql早期的memcache的发展下,又出现了很多非关系型数据库,比如redis,mongodb。经过一段时间的测试,redis与mongodb的读写速度确实比Mysql有着很明显的优势。mongodb的写入速度大约2.5W/次每秒。
mongodb以BSON结构(二进制)进行存储,对海量数据存储有着很明显的优势。下面是Mongodb与Mysql的操作命令的对比。

作用

MySQL

MongoDB

 

 

 

服务器守护进程

mysqld

mongod

客户端工具

mysql

mongo

逻辑备份工具

mysqldump

mongodump

逻辑还原工具

mysql

mongorestore

数据导出工具

mysqldump

mongoexport

数据导入工具

source

mongoimport

 

 

 

新建用户并授权

grant all on *.*
to username@'localhost'
identified by 'passwd';

db.addUser("user","psw")
db.auth("user","psw")

显示库列表

show databases;

show dbs

进去库

use dbname;

use dbname

显示表列表

show tables;

show collections

查询主从状态

show slave status;

rs.status

创建库

create database name;

无需单独创建,直接use进去

创建表

create table tname(id int);

无需单独创建,直接插入数据

删除表

drop table tname;

db.tname.drop()

删除库

drop database dbname;

首先进去该库,db.dropDatabase()

 

 

 

插入记录

insert into tname(id) value(2);

db.tname.insert({id:2})

删除记录

delete from tname where id=2;

db.tname.remove({id:2})

修改/更新记录

update tname set id=3
where id=2;

db.tname.update({id:2},
{$set:{id:3}},false,true)

 

 

 

查询所有记录

select * from tname;

db.tname.find()

查询所有列

select id from tname;

db.tname.find({},{id:1})

条件查询

select * from tname where id=2;

db.tname.find({id:2})

条件查询

select * from tname where id < 2;

db.tname.find({id:{$lt:2}})

条件查询

select * from tname where id >=2;

db.tname.find({id:{$gte:2}})

条件查询

select * from tname where id=2
and name='steve';

db.tname.find({id:2,
name:'steve'})

条件查询

select * from tname where id=2
or name='steve';

db.tname.find($or:[{id:2},
{name:'steve'}])

条件查询

select * from tname limit 1;

db.tname.findOne()

 

 

 

模糊查询

select * from tname where name
like "%ste%";

db.tname.find({name:/ste/})

模糊查询

select * from tname where name
like "ste%";

db.tname.find({name:/^ste/})

 

 

 

获取表记录数

select count(id) from tname;

db.tname.count()

获取有条件
的记录数

select count(id) from tname
where id=2;

db.tname.find({id:2}).count()

查询时去掉
重复值

select distinct(last_name)
from tname;

db.tname.distinct('last_name')

 

 

 

正排序查询

select *from tname order by id;

db.tname.find().sort({id:1})

逆排序查询

select *from tname
order by id desc;

db.tname.find().sort({id:-1})

 

 

 

取存储路径

explain select * from tname
where id=3;

db.tname.find({id=3}).explain()


特别要注意的是:mongodb插入多个字段语法
> db.user.insert({id:1,name:'steve',sex:'male'}) 正确
> db.user.insert({id:2},{name:'bear'},{sex:'female'}) 错误