redis及数据库
文章平均质量分 78
redis及数据库
zhousenshan
现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞
展开
-
PostgreSQL 表空间与数据库
PostgreSQL中表空间的创建有点像Oracle在裸设备上创建表空间,也就是说它只有表空间的名称与数据库文件的目录,而没有具体的大小。在PostgeSQL中,它没有数据文件的概念,只是一个数据目录。下面,我们来看例子。postgres=# create tablespace ts_demo location '/home/pgsqladmin/pgdata01';转载 2017-05-20 23:53:51 · 3042 阅读 · 0 评论 -
Springboot2使用shardingsphere分表攻略
假设我们有一个table_data表,现在要将其分成5个分表table_data0、table_data1、table_data2、table_data3、table_data4表内字段大致如下,id为主键我们要使用的是shardingsphere的shardingjdbc模块,添加pom如下(该版本为Apache最新孵化版本)<dependency> &l...转载 2019-07-06 21:02:20 · 7304 阅读 · 1 评论 -
利用dbLink技术 可以进行数据库复制(及如何调整表顺序)
导入的命令是:imp 用户名/密码@网络服务名 file=xxx.dmp full=y;例子:开始->运行->输入cmd->imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\work\dmp\PECARD_HN.dmp full=y导出的命令是:exp 用户名/密码@网络服务名 file=xxx.dmp tables=(表原创 2016-01-05 10:51:32 · 2115 阅读 · 0 评论 -
PostgreSQL查看数据库,索引,表空间大小
实例讲解3.1 查看存储一个指定的数值需要的字节数david=# select pg_column_size(1); pg_column_size ---------------- 4(1 row)david=# select pg_column_size(10000); pg_column_size ----转载 2017-05-21 00:03:53 · 499 阅读 · 0 评论 -
Oracle数据库分区技术
一、建立分区的语法如下:CREATE TABLE table_name(……)PARTITION BY RANGE (column_list)(PARTITION partition_name VALUES LESS THAN(values_list) TABLESPACE tablespace_name ,…… )转载 2016-03-03 09:41:30 · 527 阅读 · 0 评论 -
mybatis学习笔记(13)-查询缓存之一级缓存
mybatis学习笔记(13)-查询缓存之一级缓存标签: mybatismybatis学习笔记13-查询缓存之一级缓存查询缓存一级缓存一级缓存工作原理一级缓存测试一级缓存应用本文主要讲mybatis的一级缓存,一级缓存是SqlSession级别的缓存。查询缓存mybatis提供查询缓存,用于减轻数据压力转载 2016-03-01 23:40:54 · 1157 阅读 · 0 评论 -
oracle 数据库访问性能优化
读者对像:开发人员:如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化。架构师:如果你已经是数据库应用的架构师,那本文的知识你应该清楚90%,否则你可能是一个喜欢折腾的架构师。DBA(数据库管理员):大型数据库优化的知识非常复杂,本文只是从程序员的角度来谈性能优化,DBA除了需要了解这些知识外,还需要深入数据库的内部体系架构来解决问题。转载 2016-02-21 18:17:38 · 4471 阅读 · 0 评论 -
AAA Oracle 游标使用全解
-- 声明游标;CURSOR cursor_name IS select_statement--For 循环游标--(1)定义游标--(2)定义游标变量--(3)使用for循环来使用这个游标declare --类型定义 cursor c_job is select empno,ename,job,sal转载 2016-06-16 20:28:58 · 283 阅读 · 0 评论 -
PostgreSQL数据库、表空间、角色及用户
一、创建数据库1、通过pgAdmin创建数据库TestDb1:打开数据库TestDb1看到建库脚本:在目录——PostgreSQL(pg_catalog)——数据表——pg_database中可以查看多了一个数据库TestDb1:select oid,* from pg_database; 此时,在E:\PostgreSQL\data\base下的文转载 2017-05-28 15:08:25 · 1194 阅读 · 0 评论 -
AAA oracle分区技术 自己的总结
1 oracle数据库分区表的实现原理是什么?这两个数据库分区表实现的区别是什么?查询的时候按table来查,一个表的所有分区都属于table。但每个分区都是单独的segment,如果查询限制了分区键,那么查询只落在特定的segment,而segment在底层对应的数据块是不同的,这样可以减少数据的访问。2 常用的以RANGE分区,也就是根据字段的时间进行分区常规用法CREATE原创 2016-03-03 10:18:08 · 522 阅读 · 0 评论 -
MongoDB的正确使用姿势
首先,MongoDB是文档型(Document store)的NoSQL数据库,数据以文档(对应关系型数据库的记录,本文有时候会混用)的形式在MongoDB中保存,文档实际上就是一个个JSON字符串,想必大家对JSON都比较熟悉,不赘述。使用JSON的好处是非常直观,通过一系列的Key-Value键值对来表示数据,符合我们的阅读习惯,下图所示是以JSON表示的用户信息文档。在主流的计算机语...转载 2019-07-06 21:43:34 · 397 阅读 · 0 评论 -
让索引包含null值的两种方法
1. 把有NULL值的列与一个常数,或者一个带有not null约束的列一同索引create index ind_01 on t01(col01,1);或者create index ind_01 on t01(col01,col02); --col02 必须带有NOT NULL约束. 下面是例子:CREATE TABLE TAB (COL1 NUMBER, CO转载 2017-12-14 23:41:24 · 1905 阅读 · 0 评论 -
oracle使用倒序索引提升ORDER BY DESC性能
使用倒序索引(INDEX DESC),可以大幅提升带有order by desc子句的SQL语句性能。 另一种方式就是创建一个倒序索引,如:create index t_idx on table_name(time desc);这种创建时,索引最左边的值就是最晚的时间插入的数据,好像数据就是往左增长一样,此时索引从左往右扫描的时候就是最大的时间了,也是比较实用的。一、场景1、表名:test_t,...转载 2018-04-13 21:17:34 · 10857 阅读 · 0 评论 -
oracle远程配置及plsql访问设置
默认数据库系统账户名称是system,密码就是你安装数据库时的密码远程访问,需要修改listener.ora和tnsnames.ora文件。该文件存在目录在oracle基础目录的xxx\product\11.2.0\dbhome_1\NETWORK\ADMIN\下。Listener.ora:SID_LIST_LISTENER = (SID_LIST = (SID_DES...原创 2017-02-14 09:46:20 · 388 阅读 · 0 评论 -
postgresql 学习笔记1(表空间的认识)
postgresql对表空间的说明很简单,基于两点理由:扩展存储空间,跳出os对文件系统的大小限制,不断扩充可以空间让数据库管理员针对系统的应用特点....优化系统的性能。postgresql的tablespace就是让postgresq使用的专用os目录(路径)。并没有什么神秘的地方。在一个逻辑文件系统上建立多个表空间没有多少意义,因为你不能控制逻辑文件系统里的单个文件c转载 2017-05-21 00:15:39 · 1296 阅读 · 0 评论 -
PostgreSQL 打印日志信息所在的源文件和行数的实例
一直好奇在PG中, 当输出错误日志时, 如何能够附带错误信息所在的源代码文件名以及发生错误的代码行数.postgres.conf中, log信息冗余级别为"default(默认)", terse: 表示更加简单的日志信息, verbose: 表示更加冗余的日志信息(即: 附带"文件名和行数) 1 #log_error_verbosity = default # terse, default, or verbose messages 修改为下面的"verbose转载 2021-06-16 22:16:17 · 977 阅读 · 0 评论 -
Postgresql之VACUUM和VACUUM FULL对比
转载 2022-04-16 22:25:56 · 217 阅读 · 0 评论 -
使用DBLink方式同步远程数据库中含Blob、Clob字段表的问题解决
在数据库同步中我们经常会用到DBLink方式。DBLink可以将物理上存放于网络的多个数据库在逻辑上当成一个单一的大数据库。开发人员无需关心数据库的网络分布,就能很方便的实现从不同数据库之间读取数据。如何在Oracle数据库间建立DBLink我在之前的文章已有涉及,这里就不花篇幅讲解了。具体请查看Oracle建立DBLink。本篇文章主要阐述如何解决DBLink方式无法实现Blob、Clob字转载 2016-06-23 10:23:08 · 3315 阅读 · 1 评论 -
表的连接方式:NESTED LOOP、HASH JOIN、SORT MERGE JOIN(修改)
表连接方式及使用场合NESTED LOOP 嵌套循环连接 由两个for循环组成。不管什么连接,本算法都可以使用。连接的两个关系,分别称之为外层关系和内层关系,把数据块数大的关系作为外层关系,小的关系作内层关系。分为块嵌套循环连接(简单点说,就是把已经放在内存的两个关系块全部连接完成后再进行下一数据库块的比较,减少内存中数据块的IO)和索引嵌套循环连接(如果内层关系有索引,使用转载 2017-11-06 22:58:59 · 907 阅读 · 0 评论 -
oracle如何 查询 创建 执行存储过程及游标的作用
查看当前用户下的存储过程:select * from user_procedures;查看所有用户(注意有查询权限)select * from all_procedures; oracle存储过程中is和as的区别? 在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别,在视图(VIEW)中只能用AS不能用IS,在游标(CURSOR)中只能用IS不能用A原创 2016-02-18 10:06:45 · 2789 阅读 · 0 评论 -
使用oracle 的 PL/Sql 定时执行一个存储过程
/*使用oracle 的 PL/Sql 定时执行一个存储过程测试目的:在表 tab 中间隔一分钟插入一条数据实现方案:1.通过 oracle 中 dbms_job 完成存储过程的定时调用2.在存储过程中完成相应的逻辑操作脚本说名:以下代码为 dbms_job 操作的基本写法,其中不包含各个系统函数参数说明,如需要了解“系统函数参数说明”请另行在网上查找转载 2016-06-16 19:15:51 · 1302 阅读 · 0 评论 -
sql中in和exists的区别效率问题
in 和existsin是把外表和内表作hash 连接,而exists 是对外表作loop 循环,每次loop 循环再对内表进行查询。一直以来认为exists 比in 效率高的说法是不准确的。如果查询的两个表大小相当,那么用in 和exists 差别不大。 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A转载 2017-09-15 22:55:55 · 330 阅读 · 0 评论 -
记录一次经历的数据库从单库到分库分表的过程
前言 目前所在的的项目组,由于项目正在处于一个业务爆发期,每天数据的增长量已经给我们数据库乃至系统造成了很多不确定的因数,前期依靠优化业务和SQL等方式暂时还能够支撑住。但是最近发现某些表数据达到500W+以后查询统计性能严重下降,高峰时段出现了很多SQL阻塞的情况例如:这种阻塞带来的灾难是滚雪球的,由于越堆越多基本上把数据库已经拖死,所以我们就面临数据库切分的问题。技术...转载 2019-07-06 09:44:52 · 386 阅读 · 0 评论 -
PostgreSQL SQL的性能调试方法 查看执行计划
1.下面简单介绍一下执行计划结果的读法①Explaining → Widths =# EXPLAIN SELECT oid FROM pg_proc;QUERY PLAN------------------------------------------Seq Scan on pg_proc(cost=0.00..87.47 rows=1747 widt转载 2017-09-15 23:06:48 · 2812 阅读 · 0 评论 -
AAA Oracle11g下自动创建分区
11g之前,维护分区需要手工。11g之后使用interval来实现自动扩展分区,简化了维护。根据年: INTERVAL(NUMTOYMINTERVAL(1,'YEAR'))根据月: INTERVAL(NUMTOYMINTERVAL(1,'MONTH'))根据天: INTERVAL(NUMTODSINTERVAL(1,'DAY'))根据时分秒: NUMTODSINTE转载 2016-03-03 17:36:13 · 1599 阅读 · 0 评论 -
安装和使用MongoDB
MongoDB是一个著名的NoSQL数据库,顾名思义就是不使用SQL的数据库,目前在很多场景都有使用。如果你不喜欢使用笨拙的各种SQL数据库,可以尝试使用一下MongoDB,会有不一样的感受。本文就是一篇简单的Windows下的安装和使用教程。下载和安装首先,先到MongoDB官网下载页下载社区版的服务器,由于这里是Windows系统,所以当然下载Windows版本的。注意我们要下载的是社...转载 2019-07-07 22:09:27 · 301 阅读 · 0 评论 -
浅谈sql中的in与not in,exists与not exists的区别
1、in和existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;例如:表A(小表),表B(大表)select * fr转载 2017-06-14 21:15:36 · 831 阅读 · 0 评论 -
AAA如何插入几十万条数据 PL/SQL 调试存储过程简单实例
oracle用户数据库中,procedures就是存储过程,这是创建脚本最简单的例子create or replace procedure MyDemo(dateLine in varchar2) IS --类型定义 cursor cc is select * from tuser t; --定义一个游标变量 ccrec cc原创 2016-06-17 23:33:30 · 2041 阅读 · 0 评论 -
SQL优化之PostgreSQL 分区
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/13/SQL3_partition/ 一、典型使用场景 随着使用时间的增加,数据库中的数据量也不断增加,所以数据库查询越来越慢。 加速数据库的方法很多,比如添加特定的索引,将日志目录换到单独的磁盘分区,调整数据库引擎的参数等等。这些方法都能将数据库的查询性能提高到一定程度。 对许多应...转载 2018-05-01 21:21:15 · 3966 阅读 · 0 评论 -
如何用Powerdesigner的PDM生成数据库及逆向生成
pdm做好后,最终是要将其转化为数据库实体的。这里pdm想必大家都知道是什么文件,对的,英文是physiyc data model 也就是物理数据模型。1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。2.配置Powe转载 2016-04-27 09:17:24 · 1254 阅读 · 0 评论 -
一起来学redis redission
redis 的客户端有jedis、lettuce、redission;我个人比较推荐的是redission,因为它的分布式锁和缓存实在是太优秀了。Redisson采用了基于NIO的Netty框架,封装了大家常用的集合类以及原子类、锁等工具。本章节主要介绍redission 中重要的两个点:数据结构和锁。...转载 2022-08-30 22:23:50 · 1117 阅读 · 0 评论 -
AAA【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。 一:单机模式安装zookeeper 1,下载zookeeper注册中心,下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/翻译 2016-03-08 21:22:02 · 580 阅读 · 0 评论 -
AAA Zookeeper精讲 三种安装方法
1 为什么使用Zookeeper?Hadoop,使用Zookeeper的事件处理确保整个集群只有一个NameNode,存储配置信息等.HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer联机和宕机,存储访问控制列表等.2 Zookeeper的节点Znode有两种类型,短暂的(ephemeral)和持久的(pe原创 2016-03-05 09:59:13 · 467 阅读 · 0 评论 -
zookeeper学习笔记-zkclient,curator使用
开源客户端,原生api的不足 连接的创建是异步的,需要开发人员自行编码实现等待 连接没有自动的超时重连机制 Zk本身没提供序列化机制,需要开发人员自行指定,从而实现数据的序列化和反序列化 Watcher注册一次只会生效一次,需要不断的重复注册 Watcher的使用方式不符合java本身的术语,如果采用监听器方式,更容易理解 不支持递归创建树形节点 开源客户端--转载 2016-08-29 23:39:15 · 4761 阅读 · 0 评论 -
RabbitMQ (二)工作队列
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37620057本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考。上一篇博客中我们写了通过一个命名的队列发送和接收消息,如果你还不了解请点击:RabbitMQ 入门 Helloworld。这篇中我们将会创建一个工作队列用来在工作转载 2016-08-31 23:47:50 · 2266 阅读 · 0 评论 -
RabbitMQ (三) 发布/订阅
转发请标明出处:http://blog.csdn.net/lmj623565791/article/details/37657225本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考。 上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者,如果你还不了解:R转载 2016-08-31 23:48:53 · 1109 阅读 · 0 评论 -
Rabbitmq消息路由机制
上一篇博客我们建立了一个简单的日志系统,我们能够广播日志消息给所有你的接收者,如果你不了解,请查看:RabbitMQ (三) 发布/订阅。本篇博客我们准备给日志系统添加新的特性,让日志接收者能够订阅部分消息。例如,我们可以仅仅将致命的错误写入日志文件,然而仍然在控制面板上打印出所有的其他类型的日志消息。1、绑定(Bindings)在上一篇博客中我们已经使用过绑定。类似下面的转载 2016-08-31 23:50:13 · 1378 阅读 · 0 评论 -
RabbitMQ (五)主题(Topic)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37706355上一篇博客中,我们进步改良了我们的日志系统。我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fanout那样,只能够无脑的转发,如果你还不了解:RabbitMQ (四) 路由选择 (Routing)。虽然使用direct类型转载 2016-08-31 23:50:43 · 876 阅读 · 0 评论 -
RabbitMQ (一)入门 Helloworld
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37607165本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考。“Hello world” of RabbitMQ1、Windows下RabbitMQ的安装下载Erlang,地址:http://www.erla转载 2016-08-31 23:46:20 · 1125 阅读 · 0 评论 -
ZooKeeper浏览器工具zkweb(改良版)
先谈谈我的安装经验吧 我是centos系统上安装zookeeper的web界面查看工具 zk-web这篇文章进行安装的,无奈leiningen一直安装不上,果断放弃,接着又安装node.js那个版本安装,最后一步就是make不成功,实在无语。接着在ZooKeeper学习之运维工具zkweb这篇文章中下了源代码,进行安装,打包出现问题,接着自己在它的基础上进行二次开发。1 介绍:这是淘宝上的开源原创 2016-09-05 18:21:27 · 5310 阅读 · 3 评论