- 博客(24)
- 收藏
- 关注
原创 MySQL运维-分库分表
介绍问题分析拆分策略垂直拆分水平拆分实现技术Mycat概述介绍概念介绍Mycat配置schema.xmlschema标签schema标签(table)datanode标签datahost标签rule.xmlsever.xmlsystem标签user标签Mycat分片分片规则-范围分片规则-取模分片规则-一致性hash分片规则-枚举分片规则
2024-08-10 17:05:30
58
原创 MySQL运维-读写分离
读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力通过MyCat即可轻易实现上述功能,不仅可以支持MySQL,也可以支持Oracle和SQL Server。
2024-08-10 16:59:04
58
原创 MySQL进阶-锁
在并发访问时,解决数据访问的一致性、有效性问题性能较差,数据逻辑备份时使用表级锁,每次操作锁住整张表,锁定粒度大,发生锁冲突的概率最高,并发度最低,应用在MyISAM、InnoDB、BDB等存储引擎中。
2024-08-08 23:41:01
266
原创 MySQL进阶-索引
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引备注:上述二叉树索引结构只是一个示意图,并不是真实的索引结构。
2024-08-08 23:36:40
535
原创 MySQL进阶-视图&存储过程&触发器
视图(View)是一种虚拟存在的表,视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果,所以我们在创建视图的时候,主要的工作就落在了创建这条SQL查询语句上封装、复用可以接收参数,也可以返回数据减少网络交互,效率提升注意:用户定义的变量无需对其进行声明或初始化,只不过获取到的值为NULL。
2024-08-08 23:31:49
217
原创 MySQL进阶-SQL优化
答:对于一张表来说,主键索引或者说聚集索引只有一个,但是二级索引会有很多个,在二级索引的叶子节点中挂的就是数据的主键,如果主键长度比较长,二级索引比较多,那么将会占用大量的磁盘空间,在搜索的时候会耗费大量的磁盘IO。count()是一个聚合函数,对于返回的结果集,一行行地判断,如果count函数的参数不是NULL,累计值就加1,否则不加,最后返回累计值。页可以为空,也可以填充一半,也可以填充100%。InnoDB的行锁是针对索引加的锁,不是针对记录加的锁,并且该索引不能失效,否则会从行锁升级为表锁。
2024-08-08 23:25:54
586
原创 MySQL进阶-MySQL管理
系统数据库常用工具mysqlmysqladminmysqlbinlogmysqlshowmysqldumpmysqlimport/source
2024-08-08 23:24:21
152
原创 MySQL进阶-InnoDB引擎
原子性-undo log持久性-redo log一致性-undo log + redo log隔离性-锁 + MVCC。
2024-08-08 23:22:09
184
原创 MySQL进阶-存储引擎
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式,存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型1、在创建表时,指定存储引擎create table 表名(字段1 字段1类型 [comment 字段1注释],......字段n 字段n类型 [comment 字段n注释])engine = innodb [comment 表注释];2、查看当前数据库支持的存储引擎。
2024-08-05 21:11:42
580
原创 MySQL基础-事务
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。
2024-08-04 21:08:02
157
原创 MySQL基础-多表查询
项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为一对多(多对一)、多对多、一对一三种概述:指从多张表中查询数据笛卡尔积:笛卡尔乘积是指在数学中,两个集合A集合和B集合的所有组合情况(在多表查询时,需要消除无效的笛卡尔积)
2024-08-04 21:06:47
279
原创 MySQL基础-函数与约束
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据目的:保证数据库中数据的正确、有效性和完整性分类:注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
2024-08-04 21:03:33
170
原创 MySQL基础-SQL
DML是数据操作语言,用来对数据库中表的数据记录进行增删改操作,添加数据(insert)、修改数据(update)、删除数据(delete)DQL是数据查询语言,用来查询数据库中表的记录,查询关键字selectDCL是数据控制语言,用来管理数据库用户、控制数据库的访问权限。
2024-08-04 20:59:13
782
原创 HTTP协议&Web服务器
HTTP(Hyper Text Transfer Protocol),超文本传输协议,规定了浏览器和服务器之间数据传输的规则Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范(JavaEE:Java企业版,指Java企业级开发的技术规范总和)Tomcat也被称为Web容器、Servlet容器,Servlet程序需要依赖于Tomcat才能运行Web服务器对HTTP协议的操作进行封装,简化web程序开发。
2024-08-03 20:23:10
372
原创 Maven高级
聚合用于快速构建项目继承用于简化依赖配置、统一管理依赖聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中聚合与继承均属于设计型模块,并无实际的模块内容聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己。
2024-07-31 16:46:50
630
原创 Maven基础
Maven是apache旗下的一个开源项目,是一款用于管理和构建Java项目的工具,基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建Apache软件基金会,成立于1997年7月,是目前世界上最大的最受欢迎的开源软件基金会,也是一个专门为支持开源项目而生的非盈利性组织Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置使用坐标来定义项目或引入项目中需要的依赖。
2024-07-31 11:51:47
698
原创 常见的四种排序算法
冒泡排序:相邻的元素两两比较,小的放前面,大的放后面选择排序:从0索引开始,拿着每一个索引上的元素跟后面的元素依次比较,小的放前面,大的放后面,以此类推插入排序:将数组分为有序和无序两组,遍历无序数据,将元素插入有序序列中即可快速排序:将排序范围中的第一个数字作为基准数,再定义两个变量start、endstart从前往后找比基准数大的,end从后往前找比基准数小的。
2024-07-26 14:54:59
750
原创 字符串(基础知识整理)
String是Java定义好的一个类,定义在java.lang包中,java.lang包是Java的核心包,所以使用的时候不需要导包。java.lang.String类代表字符串,Java程序中的所有字符串文字(例如"abc")都为此类的对象。StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。作用:提高字符串的操作效率StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。
2024-07-25 21:23:23
542
原创 数组(基础知识整理)
格式一:数据类型[] 数组名范例:int[] array格式二:数据类型 数组名[]范例: int array[]详解:数据类型:限定了数组以后能存什么类型的数据。方括号:表示现在定义的是一个数组。数组名:就是一个名字,方便以后使用。注意点:方法括号跟数组名,谁写在前面,谁写在后面都是一样的。平时习惯性使用第一种方式。
2024-07-24 22:50:28
830
1
原创 方法(基础知识整理)
把一些代码打包在一起定义格式:public static void 方法名 () {//方法体(打包起来的代码);范例://方法体;调用格式:方法名();范例:method();定义格式:参数由数据类型和变量名组成 -> 数据类型 变量名参数范例:int apublic static void 方法名 (参数1) {方法体;public static void 方法名 (参数1, 参数2, 参数3...) {方法体;
2024-07-24 22:46:10
557
原创 面向对象(基础知识整理)
成员变量(代表属性,一般是名词)成员方法(代表行为,一般是动词)构造器代码块内部类用来描述一类事物的类,专业叫做Javabean类,在Javabean类中,是不写main方法的。编写main方法的类,叫做测试类,我们可以在测试类中创建Javabean类的对象并进行赋值调用。类名首字母建议大写、英文、有意义,需要见名知意,满足驼峰模式,不能用关键字,满足标识符规定。
2024-07-24 22:42:04
501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人