![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 90
长弓成zerozero
Java后端开发一枚,坚持简洁实用能落地的技术原创博文,做有价值的学习分享
展开
-
MySQL学习整理-码农进阶之路(四)
五:分库分表MySQL分库分表主要解决的问题是,当数据规模大到一定程度时,查询性能会急剧下降,甚至数据容量突破单机磁盘上限,不得不在多个机器节点上分散存储。然而过多的切分会使系统过于复杂难以维护,因此个人建议是能不切分就不切分,切分也优先按功能领域作垂直切分,仅对某些数据规模过大的表作水平切分。5.1 基础概念及常见问题常用架构: M-S一主多从:主不能停机,从机过多会出现延迟 M-S-S级联复制:使用级联复制减轻主机的IO压力,但从机延迟更大了 ...原创 2021-10-20 16:42:22 · 416 阅读 · 2 评论 -
MySQL学习整理-码农进阶之路(三)
四:优化4.1索引使用常见注意点1.独立的列,即索引列不能是表达式的一部分,也不能是函数的参数。如index(a);where a+ 1 > xx;to_days(col)。2.尽量全值匹配,联合索引最左前缀原则,使用覆盖索引查询,范围查询条件放最后。3.不等于类的语法慎用,会导致扫描区间近似全表扫描,如not in(...)。4.like查询前缀:'abc%',如果是获取后缀比如xxx.qq.com,可以新增一列存储反转字符串[moc.qq.xxx]再使用前缀'moc.qq%..原创 2021-10-09 21:28:05 · 227 阅读 · 0 评论 -
ES学习(三)全文查询[超多图预警]
3.1 _analyze 分析器3.2 全文搜索 match3.3 组合查询3.4 聚集查询四、SpringBoot集成五、ELK+Skywalking原创 2021-12-18 02:40:23 · 1365 阅读 · 0 评论 -
redis环境搭建,单机,主从,哨兵,集群
一、环境准备准备三台虚拟机centOS7服务器,redis安装包redis-6.0.3.tar.gz,java开发环境[用于测试]二、单机安装2.1 前置安装检查yum -y install cpp gcc make binutils glibc-kernheaders glibc-common glibc-devel2.2 安装包下载wget http://download.redis.io/releases/redis-6.0.3.tar.gz2.3 本机编译环境准备安装新版本re原创 2020-05-31 11:45:43 · 417 阅读 · 1 评论 -
MySQL学习整理-码农进阶之路(二)
二:MySQL基础架构2.1硬盘机械硬盘由磁盘片、磁头和磁头臂等组成,一次IO的流程大致是寻道[磁头臂内外移动]->旋转[扇区]->读取,一次大概9ms,主要开销在寻道和旋转上,读取1%不到。固态硬盘:page[4k]-block[64/128]-plane[n]-die-闪存片-SSD[n]写放大问题:SSD写入是page级别,但擦除是block级别,每次写入必须是全新的page,好处是避免了磁盘碎片,因为闪存必须擦除才能写,因此需要将block里的有效数据移到新块上,再擦除当原创 2021-10-08 21:22:48 · 226 阅读 · 0 评论 -
ES学习(四)项目集成
四、SpringBoot集成这个没啥好说的,直接上代码zhangcheng/es五、ELK+Skywalking原创 2021-12-31 02:07:48 · 1448 阅读 · 0 评论 -
MySQL学习整理-码农进阶之路(一)
mysql在开源社区孕育至今已经是比较成熟的产品,尤其5.6、5.7版本做了大量的优化,相当于java的6-8,技术的迭代意味着观念需要转变,以前一些不能写的sql在新版本的mysql服务器上也许就有很好的表现。互联网的底层逻辑是数据和业务,程序的底层逻辑是数据结构和算法,数据库就是互联网大厦的地基,mysql作为我们饭碗的重要组成部分不能不引起重视,了解他的设计思想也对我们日后的编码设计有促进作用。一:基础概念1.1 事务ACID原子性Atomicity:要么都成功、要么都失败一致性C原创 2021-10-08 15:33:57 · 186 阅读 · 0 评论 -
ES学习(一)环境搭建[多图慎入]
随着生产环境数据的急剧膨胀,传统关系型数据库在查询性能、扩容缩容等方面代价越来越高,我们需要一个具有扩展性好、查询性能高的NoSQL服务作为辅助[缓存]来弥补关系型数据库这方面的不足。近年来存储器结束了双雄争霸[Mysql,Oracle]迎来了多元化的时代,如Redis、MongoDB、TiDB、Hadoop等。ElasticSearch是一个使用Restful接口基于Lucene引擎开发的去中心化的全文搜索引擎,可以将关系型数据库中一些数据作为“缓存”存储在es中以适应更复杂条件下的高性能查询。一原创 2021-11-30 20:23:00 · 1639 阅读 · 0 评论 -
ES学习(二)基础语法[多图预警]
二、es基本语法操作示例前面我们已经成功搭建了单机的es环境,并学会了简单使用es的可视化页面工具kibana,是时候用它来练习es语法了。文档型数据库的优势是存储的灵活性,以及单次随机查询的性能较好,例如:mongoDB,相伴随而来的就是其非常难掌握的s一样的语法,因此不感兴趣的就可以不用往下看了,等用到的时候再补充。es的一些概念和原理我就不说了,百度百度都能有,我自己也是半吊子说不清楚。es的语法涉及到的细节也非常多,我就增删改查这些基本的功能写个简单版本,以备以后用到时好快速上手。好了打开k原创 2021-12-15 03:48:21 · 2032 阅读 · 0 评论 -
docker安装mongoDB,Navicat for MongoDB使用
因为本文是入门文档,所以废话较多,可以跳过直接看后面流程。web开发最常用的数据库是关系型数据库,代表性的就是mysql和oracle。所谓关系型数据库,其实就是每个表为一个数据实体,在每个数据实体之间建立关系,而关系型数据库的范式就是对这个实体解耦程度的要求。可以看出来了,关系型数据库其实和面向对象的开发思想一脉相承,这种开发方式既和人的思维更接近,也更能发挥计算机的算力,从而更有效率的迭代...原创 2019-08-03 02:19:00 · 1084 阅读 · 0 评论 -
IDEA,SpringBoot-MySQL-JPA开发实例
1.简述spring-data-jpa是spring推出的一种新的ORM开发框架,作为从hibernate转到mybatis的菜鸟,对hibernate的多对多什么的烦透了,现在仍然感觉mybatis天下第一,不过既然推出了新技术,总要试着学习下的,也许这就会成为日后的主流框架,毕竟这是spring全家桶里的。2.环境jdk1.8maven3.xIntelliJ IDEA3...原创 2018-12-24 02:37:09 · 801 阅读 · 0 评论 -
mysql关联修改,批量修改,数据同步
业务场景: 1.从接口获取数据,根据本地表数据处理接口数据 2.将处理好的数据更新到指定表中思路: 1.建立临时表,给临时表和本地表建立关联关系,根据根据一个表的字段修改另一个表的字段 2.把处理好的数据添加到表中,要求指定列数据不重复,已存在的更新,不存在的新增解决SQL示例:问题1:两个表有关联关系,根据一个表...原创 2018-12-21 16:18:05 · 1718 阅读 · 0 评论 -
Oracle 序列 简解
一:简介 oracle没有自动增长列,序列是一个对象,通常用来生成主键值。一般可以通过数据库工具直接新建生成 二:语法 create sequence 数据库名.序列名 [increment by n] –序列号间隔,正(负)整数,默认1 [start with n]–开始值 [maxvalue原创 2017-12-31 02:49:27 · 238 阅读 · 0 评论 -
索引 简析
一:概念1.索引类似于书籍的目录,可以加快数据的检索,其关键是通过检索排序后的索引键来代替全表扫描,从而提高速度。2.索引和表无关,对表的操作会由oracle自动选择是否使用索引,删除索引对基本表无影响。oracle创建主键会自动对该列创建索引。二:基本语法create [unique | bitmap] index index_name on table_name(...)原创 2017-12-31 22:34:42 · 169 阅读 · 0 评论 -
触发器 简析
一:概念触发器是一种特殊的存储过程,不接受参数,由事件调用二:分类1.DML触发器:创建在表上,由dml事件触发2.instead of触发器:替代触发器,oracle8专门用来处理视图。创建在视图上且只能在行级上触发3.DDL触发器: 数据库对象的创建和修改触发4.系统触发器:数据库系统事件触发 如启动与关闭三:触发器组成l 触发事件:引起触发器被转载 2017-12-31 23:50:20 · 317 阅读 · 0 评论 -
ORACLE 存储过程
一,概念:存储过程是一组预编译的sql语句,功能强大但实际工作中使用不多。二,优缺点:1.存储过程预编译,执行速度较快。将代码逻辑存放在数据库中,便于代码移植,减少网络流量2.需要专门的数据库人员维护,现实中一般由开发人员维护且不能适应频繁的需求变动,所以存储过程一般在项目后期,用在数据统计一类大数据流量算法逻辑要求比较高的环境三,基础知识:基本结构:Begin End原创 2017-12-28 21:41:15 · 229 阅读 · 0 评论 -
ORACLE PRIOR递归机构树sql
connect by prior是结构化查询的一个语句,用于递归查询机构树。简单来说,将一个树装结构存储在一张表里,通过id,parent_id的父子关系形成一个树状结构。废话不说,上代码:select * from table start with id = '01' connect by prior id = parent_id该语句将从id为01 的位置向子节原创 2017-12-26 16:50:07 · 290 阅读 · 0 评论 -
ORACLE集合运算符
union 取并集 相当于orsql:(select a from tb1 where b) union (select b from tb2 where c)解释:查询满足b条件或者满足c条件的结果备注:union 自动去重复,union all保留所有重复intersect 取交集 相当于andsql:(select a from tb1 where b)原创 2017-12-26 20:42:36 · 241 阅读 · 0 评论 -
oracle视图
视图简析一概念:1.视图又称虚拟表,由一组查询语句组成,每次查询视图都是执行该查询语句。2.可以在视图上生成新的视图,一般多表视图仅支持查询,单表视图支持dml操作,该操作实际上在基表上进行特殊 :物化视图,物化视图占用内存地址,有独立的数据和表结构,和索引相似,不支持物化视图的数据库如mysql可以使用存储过程和触发器实现。二作用:1.视图可以简化查询代码。比如一个相对复原创 2017-12-26 21:07:53 · 221 阅读 · 0 评论 -
ORACLE数据库导入导出
1.oracle数据库导入导出1.1数据导出1.1.1测试连接是否畅通tnsping 192.168.1.2021.1.2 查看远程服务器版本,不一致则不能导出sqlplus uwp_cfgh_root/123456@192.168.1.202:1521/FDMS21.1.3导出Exp uwp_cfgh_root/123456@192.168.1.202:1521/FDMS2 file=d:\20...原创 2018-03-19 10:28:02 · 135 阅读 · 0 评论 -
mysql建表语法(虽不实用,面试备忘)
建表use o2ocreata table `tb`(`id` int(10) NOT NULL AUTO_INCREMENT,`user_id` int(10) NOT NULL,`create_time` datetime DEFAULT NULL,primary key(`id`),constraint `fk_tb` foreign key(`user_id`) references `t...原创 2018-03-20 13:08:25 · 304 阅读 · 0 评论 -
游标 详解
一:概念游标存放在内存而不是磁盘中,提高了数据的读取速度。游标从表中检出结果集,并每次仅指向一条进行交互处理。二:使用场景1.一般游标在存储过程中使用,相当于程序中对查询结果的for循环处理2.现实中游标使用较少,游标会对行加锁,不利于多业务运行;因为游标存放在内存中,当数据量大时会造成内存不足,会拉高cpu3.综上,游标适用于数据量较小的场景,或尽量避免使用三:基础知识原创 2017-12-31 01:52:13 · 370 阅读 · 2 评论