数据库
文章平均质量分 63
爱飞的笨鸟
千里之行,始于足下.
展开
-
Redis分布式锁的实现原理
目录一、写在前面二、Redisson实现Redis分布式锁的底层原理(1)加锁机制(2)锁互斥机制(3)watch dog自动延期机制(4)可重入加锁机制(5)锁释放机制(6)此种方案Redis分布式锁的缺陷三、未完待续一、写在前面现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事...转载 2021-02-03 14:37:00 · 864 阅读 · 0 评论 -
sql in 的多字段匹配
技术点in 的用法 类似于:select * from t where (a,c) in ((a1,c2),(a2,c3));首先:in的单字段 匹配select * from where a in (a1,a2,a3);该语法中a 的 类型如果是 纯数字的,即使 01,02这种的字符串也是可以执行成功的,并且不需要加单引号.如果是多字段匹配的时候,那么,如果只有一个匹配项,是没有问题的,也不用加单引号 类似于select * from t where (a,c) in ((01,01原创 2021-01-27 20:29:48 · 12449 阅读 · 3 评论 -
REDIS缓存穿透,缓存击穿,缓存雪崩原因+解决方案
一、前言在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。为了克服上述的问转载 2020-06-22 16:01:22 · 157 阅读 · 0 评论 -
listagg 函数导致中文乱码
1.背景oracle 12.2c 数据库导入到oracle 12.1c 数据库后,通过listagg的函数中文乱码,不太清楚是为什么,两个数据库编码都一样,表结构与数据都是直接导过来的现象:用sql查是一样的: listagg(p.C_NAME, ',')within group( order by p.C_NAME)OVER (PARTITION BY t.C_ORDERNUMBER)...原创 2020-01-09 09:46:17 · 1928 阅读 · 0 评论 -
oracle 查看被锁表以及解锁
Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容。(1)锁表查询的代码有以下的形式:select count(*) from v$locked_object;select * from v$locked_object;(2)查看哪个表被锁select b.owner,b.object_nam...原创 2019-12-13 10:15:59 · 718 阅读 · 0 评论 -
mysql数据库中查询表是否被锁
查看表是否被锁:直接在mysql命令行执行:show engine innodb status\G。查看造成死锁的sql语句,分析索引情况,然后优化sql.然后show processlist,查看造成死锁占用时间长的sql语句。show status like ‘%lock%。查看表被锁状态和结束死锁步骤:1.查看表被锁状态show OPEN TABLES where In_use &...转载 2019-12-13 10:13:49 · 1527 阅读 · 0 评论 -
sql自定义变量的基本用法
1.employee表按 salary进行排名,相同的排名相同,并且排名连续:sql:SELECT@num := IF(@salary = salary, @num, @num + 1) num,//另@num重新赋值(如果@salary = 当前记录的salary,@num赋值为@num,否则赋值为@num+1 )@salary := salary salaryFROMempl...原创 2019-11-14 12:32:33 · 2022 阅读 · 0 评论 -
sql排序,组内排序
一、排名/*普通排名:从1开始,顺序往下排*/SELECT cs.*,@r :=@r + 1 AS rankFROM cs,(SELECT @r := 0) rORDER BY score;/*并列排名:相同的值是相同的排名*/SELECT cs.* ,CASE WHEN @p=score THEN @rWHEN @p:=score THEN @r:=@r+1 #这里最好是...转载 2019-11-14 11:56:37 · 2124 阅读 · 0 评论 -
mybatis-plus分页与springboot分页冲突解决
背景做一个简单的单表分页查询,本来是用mybatis-plus中的selectpage方法直接获取到分页的数据,然而,事实是获取到的Page对象中总条数total总是为0,也有其他的参数为零,只有记录是正确返回了的.引发原因因为springboot 默认分页插件是PageHelper,并不是mybatis-plus的,而且,mybatis-plus需要配置分页的Map<String,...原创 2019-10-11 15:41:49 · 1277 阅读 · 0 评论 -
Navicat /sqlyog连接MySQL数据库出现Authentication plugin 'caching_sha2_password' cannot be loaded的解决方案
装了mysql 8之后因为mysql8采用了新的加密方式,很多软件还不支持,所以会出现下面的错误,这时候我们只能用老的加密方式,或者使用支持mysql 8的软件,下面就是改用老的加密方式的修改方法,老哥写的很好,转来收藏一下.很多用户在使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin 'caching_sha2_password' ...转载 2019-09-27 09:59:49 · 569 阅读 · 0 评论 -
SqlServer到oracle同步数据update触发器
USE [FenHotel]GO/****** Object: Trigger [dbo].[order_update_tigger] Script Date: 08/23/2019 15:16:45 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =================================...原创 2019-08-29 17:30:58 · 748 阅读 · 0 评论 -
SqlServer 同步到oracle 数据库触发器insert
USE [FenHotel]GO/****** Object: Trigger [dbo].[order_insert] Script Date: 08/23/2019 15:16:06 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- ========================================...原创 2019-08-29 17:28:48 · 854 阅读 · 2 评论 -
使用ODAC将SqlServer数据库同步到oracle数据库
1.下载ODAC安装包2.安装ODAC(傻瓜式安装)3.安装成功后.Microsoft sql server manager 显示:说明安装成功了,然后右键点开选择属性:选中允许进程内确认,然后新建连接服务器.然后不要急着按确认点击安全性,输入oracle数据库的用户名密码然后点击服务器选项:将上述两个改为TRUE点击确认...原创 2019-08-29 17:24:37 · 1388 阅读 · 0 评论 -
oracle 列值合并
列值合并参考:https://blog.csdn.net/defonds/article/details/80455816业务场景:T_Train(火车票订单表)T_TRAINPASSENGER(火车票乘客信息表)一对多的关系我们需要查订单列表,其中一个展示的列是乘客姓名(一个订单多个人时,名字用逗号隔开),并且可以通过乘客姓名模糊查询订单列表,如果不做列值合并,则会出现三条订单记录,...原创 2019-08-23 17:53:02 · 954 阅读 · 0 评论 -
oracle数据库Date与TimeStamp使用中遇到的问题
1.date类型通过mybatis取出后是不带时分秒的2.如果想取出带时分秒的必须将类型改为TimeStamp 精确度是7如果是6的话也是跟date效果一样.具体是什么原因导致的Date类型数据库存的带时分秒,取出来确没了的原因,初步接触.公司要用,决定深入学习一下.加油!...原创 2019-07-31 18:33:39 · 1253 阅读 · 0 评论 -
安装oracle客户端与PL/SQL Developer链接远端服务器爬坑
1.环境:win7 64bit (没有安装过oracle的东西包括客户端和服务端)2.需要的工具:64位oracle客户端安装包7.1 PL/SQL Developer 压缩包instantclient-basic-nt-12.1.0.1.0 压缩包3.安装前提示:系统安装过oracle相关的软件请检查是否卸载干净如果安装了oracle的服务端且运行正常可不用安装客户端,请...原创 2019-04-19 13:17:02 · 245 阅读 · 0 评论