数据库
主要介绍关系型数据库(例如mysql、oracle)的用法,和学习笔记,
fragrans
大数据、产品、运营
展开
-
docker部署mysql
使用docker-compose部署mysql,参考资料使用docker-compose的方式部署mysql - 知乎转载 2022-04-19 10:45:28 · 593 阅读 · 0 评论 -
count(*)、count(1)、count(列)的区别
参考资料count(列),是统计这一列出去null的格式,属于列级别的统计。count(1)和count(*)是统计表中有多少条数据,表级别的 统计。浅析count(1)、count(*)与count(列名)的执行区别 - 古兰精 - 博客园转载 2022-01-29 06:12:51 · 267 阅读 · 0 评论 -
数据库索引总结
参考资料史上最全!Mysql 索引知识详解转载 2022-01-25 07:25:30 · 71 阅读 · 0 评论 -
Mysql中的锁机制
1. 表级锁和行级锁2. 共享锁和排他锁3. 意向共享锁和意向排他锁为了解决表锁和行级锁共存时带来的问题4. 行级锁的实现算法InnoDB 实现了三种行锁的算法:记录锁(Record Lock)、间隙锁(Gap Lock)和 Next-key 锁(Next-key Lock)。5. 参考资料通过各种简单案例,让你彻底搞懂 MySQL 中的锁机制...原创 2022-01-22 09:37:25 · 839 阅读 · 0 评论 -
MySQL的四种事务隔离级别
参考资料MySQL的四种事务隔离级别 - 带着梦逃亡 - 博客园转载 2022-01-22 09:12:50 · 92 阅读 · 0 评论 -
Docker安装mysql8
安装参考手册https://segmentfault.com/a/1190000021523570开启binlog进入 Docker 容器修改 /etc/my.cnf 文件,在 [mysqld] 下面添加以下内 容:log_bin=mysql_binbinlog-format=Rowserver-id=1然后重启 Mysql。 systemctl restart mysqld...原创 2022-01-15 12:57:45 · 485 阅读 · 0 评论 -
Bitmap原理及应用场景
目录1. 应用场景2. 参考资料1. 应用场景快速排序、快速查找、精准去重、2. 参考资料https://www.cnblogs.com/cjsblog/p/11613708.html转载 2021-07-11 09:51:18 · 379 阅读 · 0 评论 -
面试常见的sql语句
1. 有筛选条件的统计数量问题的万能模板select sum(case when <判断表达式> then 1 else 0end) as 数量from 信息表;select sum( case when 平均成绩>80 then 1 else 0 end) as 人数,sum( case when 平均成绩>80 then 1 else 0 end)/count(学号) as 人数占比from (转载 2021-07-09 06:42:22 · 649 阅读 · 1 评论 -
Oracle设置sql执行时的并行度和强制走索引
目录1. 设置sql执行的并行度2. 设置sql执行时强制走索引1. 设置sql执行的并行度在Oracle表中数据量比较大时,sql查询的速度会比较慢,这时候一种解决办法就是设置sql语句执行时的并行度。parallel关键字,如下sql语句所示# 将设置并行度的parallel紧挨着要查询的字段即可SELECT /*+ parallel(pis_stl_txn_dtl 64) */ *FROM your_table_nameWHERE mer_no原创 2021-07-05 20:18:41 · 1946 阅读 · 0 评论 -
数据库中的子查询-示例
参考资料https://www.cnblogs.com/yu011/p/13295015.html原创 2021-06-09 18:53:36 · 192 阅读 · 0 评论 -
mysql jooin算法原理及优化建议
目录1. Mysql join算法原理 simple nested-Loop (简单嵌套循环连接)2. Blocked nested-Loop(缓存块嵌套循环连接,当关联的字段没有建索引时,默认是用这种关联算法)3. Indexed nested-Loop (索引嵌套循环连接)4. 总结5. 参考资料1. Mysql join算法原理 simple nested-Loop (简单嵌套循环连接) select * from user tb1 left join leve...转载 2021-03-28 11:42:11 · 177 阅读 · 0 评论 -
数据库 事务及事务的隔离级别
1. 事务基本概念介绍1、事务的隔离性多个事务操作同时操作一个数据,会造成干扰,因此需要对他们之间进行隔离(只需对操作同一数据的事务隔离即可),燃操作之间分开有序的执行。2、如果不对事务进行隔离,出现的问题(脏读、不可重复读、幻读)(1)脏读(重点突出在读,即读到的数据为脏数据,因为有其他人正在修改)出现原因:修改数据的时候,同时可以读取数据;以用户A和B同时对一张银行卡进行存、取操作为例来说明。(2)不可重复读(重点突出在同一个事务中,前后两次读取时,读到的结果不一样)查询原因:读取数转载 2021-03-23 22:00:57 · 109 阅读 · 0 评论 -
什么是悲观锁和乐观锁
目录1. 悲观锁2. 乐观锁3.参考资料1. 悲观锁1、悲观锁一种悲观态度来防止一些数据冲突。工作机制:在修改数据A之前把数据锁住-->进行读写操作(期间其他任何人都不能读、写)-->完了释放锁-->其他人才可继续读、写数据 A2、悲观锁特点可以完全保证数据的独占性和正确性缺点是性能不高:频繁的加锁、释放锁的过程,会造成资源消耗2. 乐观锁3、乐观锁对数据冲突保持一种乐观态度,操作(读、写)数据时不会对操作的数据进行加锁(使得多个任务可以并行对数.转载 2021-03-23 21:57:05 · 81 阅读 · 0 评论 -
数据仓库-缓慢变化维的几种常见解决方法
1. 直接上一个拉链表的例子2. 参考链接https://blog.csdn.net/ye1142262478/article/details/58589078https://docs.kyligence.io/books/v4.2/zh-cn/model/model_design/slowly_changing_dimension.cn.htmlhttps://www.dazhuanlan.com/2020/03/13/5e6b20e47b869/https://blog.c.原创 2021-02-05 19:30:25 · 613 阅读 · 0 评论 -
在Mybatis plus的querywrapper中使用oracle的to_date函数
1. 在代码中,使用to_date函数注意事项刚开始代码中是这样写的,//to_date的错误用法queryWrapper.le(column , "to_date(" + field.get(msgBody)+ ", 'yyyy/MM/dd HH24:mi:ss')");但是这种方法会有异常,代码不会把包含to_date的字符串解析为占位符。修改成下面的就可以了://to_date的正确用法queryWrapper.apply(column + " >= TO_DATE原创 2021-01-18 19:55:52 · 5310 阅读 · 1 评论 -
MySQL常用命令总结
1. 通过命令行执行sql文件sourceD:\tmp\test\tmp.sql原创 2021-01-17 13:50:42 · 126 阅读 · 0 评论 -
Linux环境下安装mysql V8.x
目录1. 概述2. 下载rpm文件3. 开始安装3.1 执行安装命令3.2 启动mysql3.3 设置密码4. 参考资料1. 概述本次安装,为在线安装,服务器需要能够访问外网,安装mysql 8版本2. 下载rpm文件访问https://dev.mysql.com/downloads/repo/yum/复制rpm文件的下载链接在服务器上下载rmp文件wgethttps://dev.mysql.com/get/mysql80-c...原创 2021-01-09 21:34:09 · 238 阅读 · 0 评论 -
Oracle中数字字符串之间的比较时的注意事项
1. 概述在项目中使用mybatis-plus查询oracle时,有的数值字段(如金额、交易笔数的)是定义为varchar类型的,接口传过来的参数筛选值也是字符串类型的。例如:当筛选值是10000时,而数据库中对应的是 5006、4201等数值时,两个字符串比较 '10000'、'5006',这是5006是大于10000的。因此我们在比较时,可以把数据库中的varchar字段转化为number类型的,这样就可以了。如下面在代码里对字段进行to_number的转换操作即可。queryWr原创 2021-01-07 17:20:46 · 2626 阅读 · 0 评论 -
Mysql与Resi延迟双删策略原理解析
1. 概述本文是在观看腾讯视频学习总结而来的,这里先大致粗略的记录一下,后面会再重新整理MySQL与Redis延迟双删策略原理解读?课程内容:1.MySQL与Redis数据一致性协议方案有那些?2.到底是先删除缓存?还是先更新数据库?3.为什么不推荐使用更新数据,在更新缓存?4.如何利用延迟双删除策略?实现一致性问题5.延迟双删除策略,存在那些优缺点6.总结:MySQL与Redis数据一致性问题腾讯课堂直播:https://m.ke.qq.com/m-core/live.ht...转载 2020-12-27 21:52:52 · 3571 阅读 · 0 评论 -
Win10安装mysql 8.0.22
目录1. 下载安装包2. 配置环境变量3. 安装mysql4. 授权用户远程ip访问权限5. 使用navicat工具访问mysql6. 参考资料1. 下载安装包下载地址https://dev.mysql.com/downloads/mysql/点击上述链接,即可直接下载安装包 mysql-8.0.22-winx64.zip2. 配置环境变量将压缩包解压至某个win的目录,例如D:\soft\soft_install\mysql-8.0.2...原创 2020-12-12 19:32:17 · 726 阅读 · 0 评论 -
有的SQL语句后面为什么常加 where 1=1
1. 用途一:动态SQL拼接动态sql拼凑,如下,可以每个查询调价可以直接写 and ;在不定数量查询条件情况下,1=1可以很方便的规范语句(直接拼接 and var = value即可)。 String sql="select * from table_name where 1=1"; if( conditon 1) { sql=sql+" and var2=value2"; } if(condit...原创 2020-11-04 16:03:45 · 642 阅读 · 0 评论 -
PL/sql developer命令行中文乱码
1. 命令行中文乱码解决办法https://jingyan.baidu.com/article/f006222844f31efbd3f0c8b4.html转载 2020-11-25 17:42:37 · 324 阅读 · 0 评论 -
Oracle学习笔记--常用的sql语句总结
1. 执行select 语句指定返回结果的记录条数在mysql中,直接使用select xxx from xxx limit 10即可,而oracle中没有关键字limit。但是可以使用rownum来替代。例如,返回多条(10)数据select * from yourtable where rownum<=10;2. pl/sql命令行窗口中文乱码解决办法请参考https://jingyan.baidu.com/article/f006222844f31efbd3f...原创 2020-11-25 18:59:27 · 112 阅读 · 0 评论 -
Java数据类型和MySql数据类型对应表
文章来源java mysql 数据类型对照类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述 VARCHARL+NVARCHARjava.lang.String12 C转载 2014-11-15 10:01:20 · 359 阅读 · 0 评论 -
使用Navicat for MySQL新建数据库,并运行已存在的.sql文件,自动生成要创建的table
在使用Java开发的时候,有的时候我们会有MySQL作为数据c原创 2014-10-22 19:09:51 · 14893 阅读 · 0 评论