Welcome 微信登录

首页 / 数据库 / MySQL

Oracle中纯数字的varchar2类型和number类型自动转换

Oracle中纯数字的varchar2类型和number类型自动转换

使用过一个关联查询,两个表的字段定义了不同的类型。一个字段是varchar2类型,另一个字段是number类型,内容如下:"00187"和187。在使用中发现会自动将varchar2类型转换为number,即187和187。效果与to_number()一样。专门写了两个sql测试了下,如下:select case when "0110" = 110 then "true"else "false"endfrom dual;select case when t...
Redis命令执行全过程

Redis命令执行全过程

这个问题说简单也很简单,无非就是客户端发送命令请求,服务器读取命令请求,然后是命令执行器查找命令实现,执行预备操作,调用命令实现函数,执行后续工作。但是我们想要了解的不能简简单单的就是这些。下面我们详细的来分析一下Redis命令执行的全过程。发送命令请求但用户通过客户端输入一个命令请求的时候,客户端首先会对用户输入的命令请求进行一个格式转换,转换成协议格式,然后通过连接到服务器的套接字把这个已经格式化的命令发送给服务器(服务器是通过套节字和客户端或者是其他...
Redis命令小细节

Redis命令小细节

Redis命令小细节1. setsetnxsetexset 将字符串 value的值关联到key ,如果key已经存在,那么覆盖原来的,如果不存在,那么就创建setnx 将key的值设置为value,当且仅当key不存在的时候,如果key已经存在,是设置不成功的。SetEx是设置一个带生存期限的key,通过下面,我们可以发现,setex的参数顺序是,key time value,同时,需要注意的是,setex和set一样,如果key不存在,那么创建,如果k...
关于Redis两种持久化方式的说明

关于Redis两种持久化方式的说明

在说Redis持久化之前,需要搞明白什么是数据库状态这个概念,因为持久化的就是将内存中的数据库状态保存到磁盘上。那么什么是数据库状态呢?Redis是一个key-value数据库服务器,一般默认是有16个数据库,可以使用select <index>命令进行切换(0-15),这每个非空的数据库又可以包含任意多个键值对,为了方便起见,我们将数据库服务器中的非空数据库以及它们的键值对通常为【数据库状态】,所以这里持久化,说的不是一个数据库,而是服务器上...
Redis中关于过期键的删除策略

Redis中关于过期键的删除策略

我们已经了解到了Redis是一种内存数据库,Redis中数据都是以key-value的形式存储在内存中,由Redis服务器来维护和管理这部分内存,内存是何足珍贵,不需要的数据或者是已经使用过的没用的数据是不会让它长久的存在于内存中的,毕竟我们还是要建设节约型社会的。所以我们可以通过给键设置生存时间或者过期时间来权衡有限的内存和不断增长的数据,设置过期时间的命令为:【expire key 时间长度(秒)】或者是【pexpire key 时间长度(毫秒)】 同...
Oracle 11g DataGuard使用总结

Oracle 11g DataGuard使用总结

Oracle 11g的dataguard相比于10g来说,最优越的特性应该算就是active dataguard了,这一点改进在很大意义上促使用户需要把数据库从10g升级到11g,读写分离在这个时候得到了升华,而且在后台会根据需要进行数据的同步,相比于使用10g,想读数据的时候把数据库启动到read only 阶段,但这个时候不接受日志同步数据,如果需要同步数据还需要把数据库再启动到mount阶段,感觉还是比较繁琐的。11g的active dataurad...
Oracle 10g 一主多备的搭建技巧

Oracle 10g 一主多备的搭建技巧

在Oracle数据库环境中,一主一备是比较传统的使用方式,在灾难发生的时候,可以灵活的切换主备角色,依然可以保持服务的可访问性。但是一些核心系统来说还是会有更多的过滤,一主一备似乎还是不够稳妥,如果主备出现问题,如果有另外一个备库还是有可选的余地,这种情况不是不可能发生,正是因为核心业务的需要还是需要保证数据的安全。很多场景下,一主两备会保持这样的场景,一主一备在同一个区域内,这样在出现问题的时候方便切换,如果区域出现故障,可以保证异地的机房可以顺利承接服...
Percona XtraDB Cluster集群的安装与配置

Percona XtraDB Cluster集群的安装与配置

Percona XtraDB Cluster是针对MySQL用户的高可用性和扩展性解决方案,基于Percona Server 。其包括了Write Set REPlication补丁,使用Galera 2.0库,这是一个针对事务性应用程序的同步多主机复制插件。Percona XtraDB Cluster特点: (1)同步复制,事务在所有集群节点要么同时提交,要么不提交。 (2)多主复制,可以在任意一个节点写入。 (3)从服务器上的并行应用事件,真正的...
MySQL主键约束和唯一性约束

MySQL主键约束和唯一性约束

MySQL主键约束和唯一性约束都是索引,它们的区别是:主键字段可以确保唯一性,但主键字段不能为NULL.唯一性约束可以确保唯一性,但唯一性约束的字段可以为NULL唯一性约束对含有NULL的记录不起作用,即可以重复加入含有NULL的记录,主键字段不能为NULLmysql-workbench无法创建多字段唯一性约束,可以在命令行手工增加增加多字段唯一性性约束mysql>alter table cmd_end_regexp add constraint d...
Node以数据块的形式读取文件

Node以数据块的形式读取文件

在Node中,http响应头信息中Transfer-Encoding默认是chunked。Transfer-Encoding:chunked Node天生的异步机制,让响应可以逐步产生。 这种发送数据块的方式在涉及到io操作的情况下非常高效。Node允许以数据块的形式往响应中写数据,也允许以数据块的形式读取文件。 这样可以有高效的内存分配,不需要把文件全部读取到内存中再全部响应给客户,在处理大量请求时可以节省内存。var http = require...
MySQL存储过程以及在Java中的程序调用

MySQL存储过程以及在Java中的程序调用

存储过程是一种存储在数据库中的程序(就像正规语言里的子程序一样),准确的来说,MySQL支持的“routines(例程)”有两种:一是我们说的存储过程, 二是在其他SQL语句中可以返回值的函数(使用起来和Mysql预装载的函数一样,如pi())。本文是为初学习MySQL存储过程的朋友写的,在本文中我们以在MySQL的CLI(command line interface)中建立一个存储过程的示例开始,然后通过在Java程序中调用我们创...
JDBC连接MySQL数据库的流程及其原理

JDBC连接MySQL数据库的流程及其原理

1、在开发环境中加载指定数据库的驱动程序。例如,使用的数据库是MySQL,所以需要去下载MySQL支持JDBC的驱动程序,,关键是这个JAR文件,mysql-connector-java-5.1.18-bin.jar;开发环境是MyEclipse使用eclipse也可以,将下载得到的驱动程序加载进开发环境中。2、在Java程序中加载驱动程序。在Java程序中,可以通过 “Class.forName(“指定数据库的驱动程序&rdquo...
<< 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 >>