Redis之set类型及操作
set是string类型的无序集合。通过hash table实现。sadd:向名称为key的set中添加元素,不能添加重复的元素。127.0.0.1:6379> sadd myset hello(integer) 1127.0.0.1:6379> sadd myset world(integer) 1127.0.0.1:6379> sadd myset world(integer) 0127.0.0.1:6379> smembers myset1) "hello"2) "world"srem:...
Redis之list类型及操作
lpush:在key对应list的头部添加字符串元素。127.0.0.1:6379> lpush mylist world(integer) 1127.0.0.1:6379> lpush mylist hello(integer) 2127.0.0.1:6379> lrange mylist 0 -11) "hello"2) "world"rpush:在key对应list的尾部添加字符串元素。127.0.0.1:6379> rpush mylist2 world(integer) 1127.0.0.1:6379...
Redis之hash类型及操作
hash类型特别适合用于存储对象。hset:设置hash field为指定值,如果key不存在,则先创建。127.0.0.1:6379> hset myhash field hello(integer) 1127.0.0.1:6379> hget myhash field"hello"hsetnx:设置hash field为指定值,如果key不存在,则先创建,如果存在返回0。127.0.0.1:6379> hsetnx myhash field hello(i...
Redis之string类型及操作
set:设置key对应的值为string类型的value。127.0.0.1:6379> set name stoneOK127.0.0.1:6379> get name"stone"127.0.0.1:6379> set name stone1OK127.0.0.1:6379> get name"stone1"setnx:设置key对应的值为string类型的value,如果key已经存在,返回0,nx是not exist的意思。127.0.0.1:6379> get name"stone1...
Redis之安装部署
下载地址:http://redis.io/download,下载最新文档版本。[root@D2-LZY245 ~]# tar -xvzf redis-4.0.1.tar.gz[root@D2-LZY245 ~]# cd redis-4.0.1/[root@D2-LZY245 redis-4.0.1]# make[root@D2-LZY245 redis-4.0.1]# src/redis-server[root@D2-LZY245 ~]# ps -ef | grep redisroot 2...
使用mysqladmin管理mysql
mysqladmin是mysql数据库中的专用管理工具,通过该工具可以完成检查服务器配置、当前状态、创建/删除数据库等操作。 用法:Usage: mysqladmin [OPTIONS] command command.... 常用参数:● -i,--sleep=#:重复执行该命令的间隔时间。● -r,--relative:当于-i参数联合使用并且指定了extended-status命令时...
使用innobackupex恢复mysql数据库
使用innobackupex备份好数据库后,参考:http://blog.itpub.net/28536251/viewspace-2141029/,如果要恢复,也很简单。假定当前mysql数据库无法访问,在另外一台机器上面有一份全量备份2017-06-20_16-33-30和增量备份2017-06-20_16-48-49。 1、获取备份文件[root@my1 ~]# mkdir /var/lib/mysql/bakup[root@my1 ~]# chown my...
使用innobackupex备份mysql数据库
innobackupex类似于Oracle的rman,可以进行热备,需要在服务器端执行,是进行mysql备份最常用的工具之一。 1、安装工具[root@my ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago)[root@my ~]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm ...
RHEL6.4安装Oracle 12cR2
1、硬件环境确认 Oracle 12cR2的硬件环境需求参考:http://docs.oracle.com/database/122/LADBI/server-hardware-checklist-for-oracle-database-installation.htm#LADBI-GUID-D311E770-9444-45D0-A122-6491D1B66B8A [root@my ~]# free -g total used free shared buffers cached Mem: 3 0 2 0 0 0 -/+ buffers/cache: 0 3 ...
Oracle查询转换(五)子查询展开
子查询展开是指优化器将子查询转换为等价的表连接,从而提高查询效率。如果子查询前的where条件为: ● =、、=、 ● EXISTS、IN、ANY ● NOT EXISTS、NOT IN、ALL则目标SQL就有可能会做子查询展开。 来看一个简单的例子:SQL> select employee_id,last_name from employees where empl...
Oracle查询转换(四)连接谓词推入
在前面 Oracle查询转换(二)复杂视图合并 中有一个例子: SQL> select /*+ no_merge(e) */d.department_name,e.sal_sum from employees_vw e,departments d where e.department_id=d.department_id and department_name='IT'; Execution Plan----------------------------------------------------------Plan hash value: ...
Oracle查询转换(三)外连接视图合并
视图的定义及分类参考:http://blog.itpub.net/28536251/viewspace-1871039/如果视图定义中包含外连接或者视图与目标SQL中其他表做外连接,优化器会评估视图合并后的语义是否与目标SQL一致,如果一致就进行视图合并,也就是外连接视图合并。那么什么情况下语义一致呢,有以下两种情况: ● 视图的基表只有一个表。&nb...
Oracle查询转换(二)复杂视图合并
视图的定义及分类参考:http://blog.itpub.net/28536251/viewspace-1871039/如果目标SQL中包含了视图,且该视图为一个复杂视图,则优化器会评估视图合并的成本,如果成本低于原SQL的成本,才会做视图合并。 创建一个复杂视图:SQL> create view employees_vw as select department_id,sum(salary) sal_sum from empl...
Oracle查询转换(一)简单视图合并
视图的定义及分类参考:http://blog.itpub.net/28536251/viewspace-1871039/如果目标SQL中包含了视图,且该视图为一个简单视图,则优化器会将视图拆开,直接使用视图的基表来生成执行计划,故在执行计划中将看不到视图的名字了。 创建一个简单视图:SQL> create view employees_50_vw as select employee_id,...
Oracle的表连接方法(七)
Oracle表连接方法有四种: ● 排序合并连接(Sort Merge Join) ● 嵌套循环连接(Nested Loops Join) ● 哈希连接(Hash Join) ● 笛卡尔积(Cartesian Product) 如果where条件有not exists、not in或all操作符+子查询,则Oracle会将其处理为反连接,,执行计划中对应的关键字为anti。 SQL> ...
Oracle的表连接方法(六)
Oracle表连接方法有四种: ● 排序合并连接(Sort Merge Join) ● 嵌套循环连接(Nested Loops Join) ● 哈希连接(Hash Join) ● 笛卡尔积(Cartesian Product) 如果where条件有exists、in或=any操作符+子查询,则Oracle会将其处理为半连接,执行计划中对应的关键字为SEMI。 SQ...
Oracle的表连接方法(五)
Oracle表连接方法有四种: ● 排序合并连接(Sort Merge Join) ● 嵌套循环连接(Nested Loops Join) ● 哈希连接(Hash Join) ● 笛卡尔积(Cartesian Product) 前面连接方法的示例都是内连接,我们知道Oracle还有外连接,包括左外连接,右外连接和全外连接。执行计划中左外连接和右外...
Oracle的表连接方法(四)笛卡尔积
Oracle表连接方法有四种: ● 排序合并连接(Sort Merge Join) ● 嵌套循环连接(Nested Loops Join) ● 哈希连接(Hash Join) ● 笛卡尔积(Cartesian Product) 如果两个表做表连接而没有连接条件,而会产生笛卡尔积,在实际工作中应该尽可能避免笛卡尔积。笛卡尔积对应的执行计划中有...
Oracle的表连接方法(三)哈希连接
Oracle表连接方法有四种: ● 排序合并连接(Sort Merge Join) ● 嵌套循环连接(Nested Loops Join) ● 哈希连接(Hash Join) ● 笛卡尔积(Cartesian Product) 如果两个表对应的结果集很大,使用排序合并的话,排序操作成本较高;使用嵌套循环的话,则循环次数又很多,需要多次访问被驱动表...
Oracle的表连接方法(二)嵌套循环连接
Oracle表连接方法有四种: ● 排序合并连接(Sort Merge Join) ● 嵌套循环连接(Nested Loops Join) ● 哈希连接(Hash Join) ● 笛卡尔积(Cartesian Product) 嵌套循环连接是Oracle将连接的两个表根据结果集的大小,决定出驱动表和被驱动表。结果集小的作为驱动表,结果集大的作为被...