![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 65
qq_34412985
Coding make me happy.
展开
-
Mybatis解决数据库Blob类型存储与读取问题
1.Blob介绍首先,先简单介绍下数据库Blob字段,Blob(Binary Large Object)是指二进制大对象字段,顺带介绍下Clob类型,Clob(Character Large Object)是指大字符对象。其中Blob是为存储大的二进制数据而设计的,而Clob是为存储大的文本数据而设计的。JDBC的PreparedStatement和ResultSet都提供了相应的方法来支持Blob和Clob操作,Mybatis各版本也支持对Blob或者Clob的存储以及读取操作,本文详细介绍Mybat原创 2021-10-31 19:05:17 · 7337 阅读 · 0 评论 -
docker安装informix
1.通过docker下载镜像docker pull ibmcom/informix-developer-database2.启动容器:sudo docker run -it --name informix --privileged -p 19088:9088 -p 19089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 -e LICENSE=accept ibmcom/informix-developer-database:latest原创 2021-05-20 15:22:45 · 1625 阅读 · 4 评论 -
postgresql数据库搜索和处理死锁
1、搜索死锁通过语句SELECT * FROM pg_stat_activity WHERE datname='databasename' and waiting='t';即可搜索出有死锁的进程,其中databasename为database的名称;出来的结果中datid即为此database的编号,pid即为死锁的进程号,此部分可以在数据库服务器上的进程中可以看到,通过ps -ef|grep postgres即可看到;2、处理死锁方法一:SELECT pg_cancel_backend(PI原创 2020-11-22 21:17:08 · 410 阅读 · 0 评论 -
测试用的pg函数(存储过程)
declare mysql text; myID integer; begin mysql:='select max( $1 ) from $2'; execute mysql into myID using myFeildName,myTableName; if myID is null or myID=0 then return 1; else return myID+1; end if; end;DECLARE testvalue1 VARCHAR (20) ; testvalue2 VARCHA原创 2020-10-22 13:02:38 · 735 阅读 · 0 评论 -
jdbc 连接db2数据库报错 SQLSTATE=08001
Error connecting to database: (using class com.ibm.db2.jcc.DB2Driver)[jcc][t4][2030][11211][3.63.123] 在对连接的底层 socket、socket input stream 或 socket output stream 执行操作期间发生通信错误。错误位置:Reply.fill() - insufficient data (-1)。消息:数据不足。 ERRORCODE=-4499, SQLSTATE=080原创 2020-10-21 16:23:21 · 2750 阅读 · 0 评论 -
docker安装sqlserver 数据库
具备条件:1.服务器需要大于2G内存。如果不够则可能无法正常启动,查看日志报如下错误:This program requires a machine with at least 2000 megabytes of memory2、获取 sqlserver 镜像$ docker pull mcr.microsoft.com/mssql/server:2017-latest镜像下载成功后,运行镜像$ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=s原创 2020-06-23 10:24:44 · 3485 阅读 · 0 评论 -
Oracle Directory(目录)介绍
OracleDirectory(目录)可以让用户在Oracle数据库中灵活地对文件进行读写操作,极大地提高了Oracle的易用性和可扩展性。其语法如下所示:CREATE [OR REPLACE] DIRECTORY DIRECTORY AS 'PATHNAME';创建和删除Directory的权限为:CREATE ANY DIRECTORY、DROP ANY DIRECTORY。赋...原创 2020-04-13 22:41:09 · 3320 阅读 · 0 评论 -
plsql操作oracle数据库删除重复数据
1.找出重复数据select count(1),uuid from ts.test group by uuid having count(1)>1 order by 1 desc ;---找出重复数据select * from ts.test E WHERE E.ROWID > (SELECT MIN(X.ROWID)FROM ts.test x WHERE X.UUID...原创 2020-04-13 22:14:22 · 2971 阅读 · 0 评论 -
为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用
HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池。官网:https://github.com/brettwooldridge/HikariCP为何要使用HiKariCP?这要先从BoneCP说起:什么?不是有C3P0/DBCP这些成熟的数据库连接池吗?一直用的好好的,为什么又搞出一个BoneCP来?因为,传说中BoneCP在快速这个特点上做到了极致...转载 2020-04-13 15:03:43 · 157 阅读 · 0 评论 -
分库分表利器——sharding-sphere
简介Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款相互独立的产品组成。他们均提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。官网http://shardingjdbc.io/...转载 2020-04-13 14:45:18 · 486 阅读 · 0 评论 -
查询oracle中所有用户信息
1.查看所有用户:select * from dba_users;select * from all_users;select * from user_users;2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):select * from dba_sys_privs;select * from user_sys_privs; (查看当前用户所拥有的权限)...原创 2019-11-23 16:53:50 · 356 阅读 · 0 评论 -
PLSQL查看所连接的ORACLE的版本
1、在PLSQL中执行语句:select * from v$version;2、pl/sql developer 里查看【Reports】——>【DBA】——>【NLS Database Parameters】下的NLS_RDMBS_VERSION。原创 2019-11-12 15:34:30 · 2467 阅读 · 0 评论 -
navicat连接oracle数据库失败:cannot load OCI DLL,87:Instant Client package is
######以前项目中,Navicat经常用来连接mysql。没有连接过oracle数据库。这几天涉及到oracle数据库的项目,于是想着也直接用navicat连接一下oracle数据库。谁知当所有信息都填写完整以后,居然出现了这样一个问题:cannot load OCI DLL,87:Instant Client package is required for Basic and TNS co...原创 2019-10-22 10:03:12 · 611 阅读 · 0 评论 -
让MySQL支持Emoji表情 mysql 5.6
让MySQL支持Emoji表情,涉及无线相关的 MySQL数据库建议都提前采用 utf8mb4 字符集。mysql 版本 5.61 解决方案:将Mysql的编码从utf8转换成utf8mb4。 需要 >= MySQL 5.5.3版本、从库也必须是5.5的了、低版本不支持这个字符集、复制报错2 my.cnf 文件添加[mysqld] char...原创 2019-08-22 21:11:28 · 191 阅读 · 0 评论 -
Spring boot 启动报错 Failed to auto-configure a DataSource
使用idea创建Spring Boot项目时,在选择组件时添加了mysql、mybatis,然后在第一次启动的时候启动报错,错误信息如下:APPLICATION FAILED TO STARTDescription:Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no ...原创 2019-08-07 20:26:27 · 335 阅读 · 0 评论 -
mysql5.7 timeStamp默认值0000-00-00 00:00:00 报错
从mysql5.5数据库导出的数据放到mysql5.7.10 报错DROP TABLE IF EXISTS `passwd_reset`;CREATE TABLE `passwd_reset` (`id` int(11) NOT NULL AUTO_INCREMENT,`staffId` int(11) DEFAULT NULL,`toEmail` varchar(50) DE...原创 2019-09-16 14:06:07 · 1324 阅读 · 0 评论 -
读丁奇mysql笔记-07讲行锁功过:怎么减少行锁对性能的影响
MySQL的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁,比如MyISAM引擎就不支持行锁。不支持行锁意味着并发控制只能使用表锁,对于这种引擎的表,同一张表上任何时刻只能有一个更新在执行,这就会影响到业务并发度。InnoDB是支持行锁的,这也是MyISAM被InnoDB替代的重要原因之一。我们今天就主要来聊聊InnoDB的行锁,以及如何通过减少锁冲突来提升业务并发度。顾...原创 2019-07-12 23:55:30 · 145 阅读 · 0 评论 -
读丁奇mysql笔记-06讲全局锁和表锁:给表加个字段怎么有这么多阻碍
今天我要跟你聊聊MySQL的锁。数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类。今天这篇文章,我会和你分享全局锁和表级锁。而关于行锁的内容,我会留着在下一篇文章中再和你详细介绍。这里需要说明的是,锁的设计比较复...原创 2019-07-12 23:52:24 · 184 阅读 · 0 评论 -
mysql修改默认字符集
选项配置配置文件路径:/full/path/mysql/bin/my.cnf(默认为/etc/my.cnf)或者/etc/mysql/mariadb.conf.d/50-server.cnf [client] default-character-set=utf8 [mysql] default-character-set=utf8 ...原创 2019-09-17 18:34:28 · 162 阅读 · 0 评论 -
读丁奇mysql笔记-05讲深入浅出索引(下)
在上一篇文章中,我和你介绍了InnoDB索引的数据结构模型,今天我们再继续聊聊跟MySQL索引有关的概念。在开始这篇文章之前,我们先来看一下这个问题:在下面这个表T中,如果我执行 select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行?下面是这个表的初始化语句。mysql> create table T (I...原创 2019-07-12 23:45:32 · 188 阅读 · 0 评论 -
docker安装MySQL 5.7 timestamp类型设置default value为'0000-00-00 00:00:00'报错的解决方法
mysql是使用docker安装的bitnami/mysql:5.7版本,在导入数据时报错,Error Code: 1067 - Invalid default value for 'xxx'。原因是因为这个字段为timestamp类型,而且默认值为’0000-00-00 00:00:00’,'xxx' timestamp NOT NULL DEFAULT '0000-00-00 00:00:...原创 2019-09-16 14:10:13 · 501 阅读 · 0 评论 -
docker容器中安装vim、telnet、ifconfig
在mysql的docker容器中需要修改配置文件,在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示: Reading package lists... Done Building dependency tre...原创 2019-09-16 17:55:21 · 508 阅读 · 0 评论 -
docker中mysql5.7的区分大小写和timestamp默认值报错
vim /etc/mysql/mysql.conf.d/mysqld.cnf设置mysql5.7不区分大小写,在[mysqld]下添加一行lower_case_table_names=1 ##0区分大小写,1不区分大小写mysql5.7timestamp的DEFAULT默认值为 '0000-00-00 00:00:00'报错ERROR 1067 (42000): Invali...原创 2019-09-17 09:36:35 · 359 阅读 · 0 评论 -
docker安装Oracle 11g
环境: centos7.3 docker --version: 19.03.2-ce1. 操作系统切换到root用户: # su root2. 启动docker # systemctl start docker3. 拉取oracle镜像(oracle 11.0.2 64bit 企业版 实例名: helowin)...原创 2019-09-17 14:10:31 · 523 阅读 · 0 评论 -
mysql5.5.45+,5.6.26+,5.7.6+去掉默认ssl开启
解决方案:修改my.cnf文件,然后重启mysql[mysqld]...skip_ssl# disable_ssl客户端 url=jdbc:mysql://127.0.0.1:3306/framework?characterEncoding=utf8&useSSL=false原创 2019-09-17 14:19:11 · 1092 阅读 · 0 评论 -
oracle连接信息
本地oracle连接信息: 密码:123456服务器oracle连接信息:密码:test原创 2019-09-17 15:16:39 · 885 阅读 · 0 评论 -
navicat新建用户,并赋予权限
一、新建用户二、设置主机和密码主机%的意思是允许用户本地登入和远程登入。三、选择表或者视图右键,选择设置权限四、选择添加权限。五、选择用户以及Select 和 Show View对于其他视图或者表,重复以上操作。六、用新建的用户登入查看是否有查看视图的权限如果最后能看到表或视图的数据就是可以了...原创 2019-10-08 13:43:38 · 2621 阅读 · 0 评论 -
Mysql常见四种索引的使用
提到mysql优化,索引优化是必不可少的。其中一种优化方式 ——索引优化,添加合适的索引能够让项目的并发能力和抗压能力得到明显的提升。我们知道项目性能的瓶颈主要是在"查(select)"语句,要提升"查"这一性能,mysql索引是必不可少的。接下来总结一下mysql常见的四种索引一. 四种索引(主键索引/普通索引/全文索引/唯一索引)1.索引的添加1.1主键索引的添加当一张表...转载 2018-12-25 15:22:21 · 587 阅读 · 0 评论 -
读丁奇mysql笔记-04讲深入浅出索引(上)
提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个SQL查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。数据库索引的内容比较多,我分成了上下两篇文章。索引是数据库系统里面最重要的概念之一,所以我希望你能够耐心看完。在后面的实战文章中,我也会经常引用这两篇文章中提到的知...原创 2019-07-12 23:43:45 · 175 阅读 · 0 评论 -
读丁奇mysql笔记-03讲事务隔离:为什么你改了我还看不见
提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这100块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果银行这么整,不就乱了么?这时就要用...原创 2019-07-12 23:41:47 · 163 阅读 · 0 评论 -
Mysql Binlog日志详解
一、mysqlbinlog简介binlog又叫二进制日志文件,它会将mysql中所有修改数据库数据的Query以二进制的形式记录到日志文件中,如:create,insert,drop,update等;(对于select操作则不会被记录到binlog里,因为它并没有修改数据库的数据)。binlog一般存储在数据目录下,并且命名为:mysql-bin.***(这个可以在配置文件中修改my.cnf:...转载 2019-07-12 23:22:42 · 386 阅读 · 0 评论 -
Redis操作之Keys与多实例
Keys简介在该系列中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器。命令列表 命令原型 ...原创 2019-01-31 21:17:10 · 487 阅读 · 0 评论 -
jedis操作redis
jedis介绍 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis,下面我们就重点学习下J...原创 2019-01-31 21:14:51 · 128 阅读 · 0 评论 -
Redis主从复制
Redis的Replication: 这里首先需要说明的是,在Redis中配置Master-Slave模式真是太简单了。相信在阅读完之后你也可以轻松做到。这里我们还是先列出一些理论性的知识,后面给出实际操作的案例。 下面的列表清楚的解释了Redis Replication的特点和优势。 1). 同一个Master可以同步多个Slaves。 2). Slave同样可以...原创 2019-01-31 21:13:07 · 108 阅读 · 0 评论 -
Redis持久化 RDB和AOF
Redis持久化简介Redis提供了哪些持久化机制: 1). RDB(Redis DataBase)持久化: 该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。 2). AOF(Append Only File)持久化: 该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的...原创 2019-01-31 21:10:09 · 226 阅读 · 0 评论 -
Redis事务
Redis事务简介和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制。在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石。相信对有关系型数据库开发经验的开发者而言这一概念并不陌生,即便如此,我们还是会简要的列出Redis中事务的实现特征: 1). 在事务中的所有命令都将会被串行化的顺序执行,事务执行期间,Redis...原创 2019-01-31 21:07:20 · 104 阅读 · 0 评论 -
mysql 取交集 锁表
1.最近项目上通过sku_property表中需要多条件查询skuid反查询,property_code和property_value_code同时满足最多9个条件查询出skuId,表中数据有300多万sql语句如下:select s.*,sp.* from sku s inner join sku_property sp on s.id=sp.sku_id where sp.sku_id...原创 2019-01-24 23:08:26 · 230 阅读 · 0 评论 -
什么是索引?mysql目前索引有哪些?
++mysql的索引目前大部分是B-tree,所有的值按顺序存储的,每个叶子页到根距离是一样的,索引是在mysql的存储引擎层的,因此不同的存储引擎支持的索引不同,即时相同可能内部实现技术不同,MyIsam索引通过数据的物理位置引用被索引的行,而InnoDB则根据主键引用被索引的行。my索引使用前缀压缩技术使得索引更小,INnoDB则按照原数据格式进行存储。++索引的优点:1.索引大大减少了服...原创 2018-12-28 20:01:52 · 790 阅读 · 1 评论 -
mysql 单表多次查询和多表联合查询,哪个效率高
转载 2018-12-21 15:34:34 · 2427 阅读 · 1 评论 -
mysql sum join 多表统计求和时不正确的问题
但是我们发现,这个数据是错误的于是我想到了用 distinct 但是发现用不了于是又想到 group by出来的结果是下面这样的发现统计只是分组统计,没达到所有行统计,而且统计的数据不正确于是我写了下面的语句来查看结果,加多了一个count函数查看 SELECT s.oid,p.oid AS poid, SUM( priceCount) AS count_p...原创 2018-12-05 19:16:03 · 5730 阅读 · 1 评论