自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

原创 MySQL-索引优化与查询优化

SQL调优1. 简单概括索引失效、没有充分利用到索引 ---索引建立 关联查询太多JOIN(设计缺陷或不得已的需求) ---SQL优化 服务器调优及各个参数设置(缓冲、线程数等) ---调整my.cnf 数据过多 ---分库分表2. 物理查询优化和逻辑查询优化物理查询优化是通过索引和表连接方式等技术来进行优化 逻辑查询优化是通过SQL等价变换提升查询效率,就是换一种查询执行效率更高的写法索引失效案例1. 非索引字段全词匹配2. 最佳左前缀法则一个索引可以包括16个字段

2025-03-14 12:00:00 985

原创 MySQL-存储引擎

设置存储引擎查看存储引擎show engines;查看系统默认的存储引擎show variables like '%storage_engine%';SELECT @@default_storage_engine;修改默认的存储引擎# MySQL语句修改SET DEFAULT_STORAGE_ENGINE=MyISAM;# 修改 my.cnf 文件default-storage-engine=MyISAM# 重启Linux服务systemctl restart m.

2025-03-13 12:00:00 329

原创 MySQL-索引的数据结构

索引介绍1. 使用索引的目的进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描,即需要一条一条地查找记录,直到找到与条件符合的记录 使用索引可以减少磁盘的I/O次数2. 索引的含义索引是存储引擎用于快速找到数据记录的一种数据结构3. 索引的优点提高数据检索的效率,降低数据库的IO成本 通过创建唯一索引,可以保证数据库表中每一行 数据的唯一性 可以加速表和表之间的连接。对于有依赖关系的子表和父表联合查询时,可以提高查询速度 在使用

2025-03-13 12:00:00 872

原创 MySQL-索引的创建

索引分类按照功能逻辑上分类:普通索引、唯一索引、主键索引、全文索引 按照物理实现方式分类:聚簇索引和非聚簇索引 按照作用字段个数分类:单列索引和联合索引1. 普通索引在创建普通索引时,不附加任何限制条件,只是用于提高查询效率 这类索引可以创建在任何数据类型中,其值是否唯一和非空,要由字段本身的完整性约束条件决定。建立索引以后,可以通过索引进行查询 例如,在表student的字段name上建立一个普通索引,查询记录时就可以根据该索引进行查询2. 唯一索引使用UNIQUE参数可以设置索引

2025-03-13 12:00:00 2087

原创 MySQL-索引设计原则

适合创建索引1. 字段的数值有唯一性的限制索引本身可以起到约束的作用,比如唯一索引、主键索引都是可以起到唯一性约束的 业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引2. 频繁作为 WHERE 查询条件的字段3. 经常 GROUP BY 和 ORDER BY 的列索引就是让数据按照某种顺序进行存储或检索 使用 GROUP BY 对数据进行分组查询,或者使用ORDER BY对数据进行排序的时候,就需要对分组或者排序的字段进行索引 如果待排序的列有多个,那么可以在这些列上建立

2025-03-13 12:00:00 583

原创 MySQL-存储过程

存储过程介绍1. 存储过程含义存储过程的英文是Stored Procedure,就是一组经过预先编译的SQL语句的封装 执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行2. 存储过程优点简化操作,提高了sql语句的重用性,减少了开发程序员的压力 减少操作过程中的失误,提高效率 减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发给服务器) 减少了 SQL

2025-03-12 12:00:00 973

原创 MySQL-函数

定义函数参数列表:指定参数为IN、OUT或INOUT只对PROCEDURE是合法的,FUNCTION中总是默认为IN参数。 RETURNS type 语句表示函数返回数据的类型;RETURNS子句只能对FUNCTION做指定,对函数而言这是 强制 的。它用来指定函数的返回类型,而且函数体必须包含一个 RETURN value 语句。 characteristic 创建函数时指定的对函数的约束,取值与创建存储过程时相同 函数体也可以用BEGIN…END来表示SQL代码的开始和结束。如果函数体只有一条

2025-03-12 12:00:00 966

原创 MySQL-变量

系统变量分类1. 查看MySQL文档的系统变量2. 变量的定义变量由系统定义,不是用户定义,属于 服务器 层面。 系统变量的值要么是编译MySQL时参数的默认值,要么是配置文件(例如my.ini等)中的参数值3. 系统变量分类系统变量分为全局系统变量(需要添加 global 关键字)以及会话系统变量(需要添加 session 关键字),如果不写,默认会话级别 有时也把全局系统变量简称为全局变量,有时也把会话系统变量称为local变量 静态变量(在 MySQL 服务实例运行期间它们的值

2025-03-12 12:00:00 1221

原创 MySQL-定义条件和处理程序

定义条件1. 几个概念定义条件 是事先定义程序执行过程中可能遇到的问题 处理程序 定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行 定义条件和处理程序在存储过程、存储函数中都是支持的2. 定义条件语法定义条件就是给MySQL中的错误码命名,这有助于存储的程序代码更清晰 将一个 错误名字 和 指定的错误条件 关联起来。这个名字可以随后被用在定义处理程序的 DECLARE HANDLER 语句中

2025-03-12 12:00:00 212

原创 MySQL-流程控制

流程控制1. 三类流程顺序结构 :程序从上往下依次执行 分支结构 :程序按条件进行选择执行,从两条或多条路径中选择一条执行 循环结构 :程序满足一定条件下,重复执行一组语句2. 三类流程控制语句:只能用户存储过程及函数条件判断语句 :IF 语句和 CASE 语句 循环语句 :LOOP、WHILE 和 REPEAT 语句 跳转语句 :ITERATE 和 LEAVE 语句分支结构之 IFIF 表达式1 THEN 操作1[ELSEIF 表达式2 THEN 操作2]……[ELSE

2025-03-12 12:00:00 760

原创 MySQL-游标

游标介绍游标能够对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构 在 SQL 中,游标是一种临时的数据库对象,可以指向存储在数据库表中的数据行指针 MySQL中游标可以在存储过程和函数中使用 在使用游标的过程中,会对数据行进行加锁 ,这样在业务并发量大的时候,不仅会影响业务之间的效率,还会消耗系统资源,造成内存不足游标使用1. MySQL,SQL Server,DB2 和 MariaDB 声明游标select_statement 代表的是SELECT 语句,返回一

2025-03-12 12:00:00 392

原创 MySQL-触发器

触发器介绍MySQL从 5.0.2 版本开始支持触发器 MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序 触发器是由事件来触发某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件 事件是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会自动激发触发器执行相应的操作触发器创建CREATE TRIGGER 触发器名称{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON

2025-03-12 12:00:00 599

原创 MySQL-非空约束、唯一约束、主键约束

约束介绍1. 约束的含义约束是表级的强制规定 可以在创建表时规定约束(通过 CREATE TABLE 语句) 在表创建之后通过 ALTER TABLE 语句规定约束2. 约束作用为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制 实体完整性(Entity Integrity) :例如,同一个表中不能存在两条完全相同无法区分的记录 域完整性(Domain Integrity) :例如:年龄范围0-120,性别范围“男/女” 引用完整性(Referential Int

2025-03-11 12:00:00 936

原创 MySQL-自增、外键约束、check约束、默认值约束

自增列 AUTO_INCREMENT1. 作用:某个字段的值自增2.特点一个表最多只能有一个自增长列 当需要产生唯一标识符或顺序值时,可设置自增长 自增长列约束的列必须是键列(主键列,唯一键列) 自增约束的列的数据类型必须是整数类型 如果自增列指定了 0 和 null,会在当前最大值的基础上自增;如果自增列手动指定了具体值,直接赋值为具体值3. 添加自增约束建表时添加# 语法create table 表名称( 字段名 数据类型 primary key auto_in.

2025-03-11 12:00:00 664

原创 MySQL-视图

视图介绍1. 常见数据库对象对象 描述 表(TABLE) 表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录 数据字典 就是系统表,存放数据库相关信息的表。系统表的数据通常由数据库系统维护, 程序员通常不应该修改,只可查看 约束 (CONSTRAINT) 执行数据校验的规则,用于保证数据完整性的规则 视图(VIEW) 一个或者多个数据表里的数据的逻辑显示,视图并不存储数据 索引(INDEX) 用于提高查询性能,相当于

2025-03-11 12:00:00 855

原创 MySQL-概念介绍

几个概念1. DB、DBMS、SQLDB:数据库(Database) 即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。 DBMS:数据库管理系统(Database Management System) 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控 制。用户通过数据库管理系统访问数据库中表内的数据。 SQL:结构化查询语言(Structured Query Language) 专门用来与数据库通信的语言。

2025-03-10 12:00:00 1511

原创 MySQL-运算符

SQL分类1. DDL(Data Definition Languages、数据定义语言)这些语句定义了不同的数据库、表、视图、索 引等数据库对象 用来创建、删除、修改数据库和数据表的结构 关键字包括 CREATE 、 DROP 、 ALTER、RENAME、TRUNCATE2. DML(Data Manipulation Language、数据操作语言)用于添加、删除、更新和查询数据库记 录,并检查数据完整性 关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELEC

2025-03-10 12:00:00 1436

原创 MySQL-排序、limit、多表连接查询

排序规则使用 ORDER BY 子句排序,默认ASC ASC(ascend):升序 DESC(descend):降序 ORDER BY 子句在SELECT语句的结尾 可以使用不在SELECT列表中的列排序 在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第一列数据中所有值都是唯一的,将不再对第二列进行排序# 单列排序SELECT last_name, job_id, department_id, hire_dateFROM employeesOR.

2025-03-10 12:00:00 1564

原创 MySQL-单行函数

单行函数操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以嵌套 参数可以是一列或一个值基本数值函数函数 用法 ABS(x) 返回x的绝对值 SIGN(X) 返回X的符号。正数返回1,负数返回-1,0返回0 PI() 返回圆周率的值 CEIL(x),CEILING(x) 返回大于或等于某个值的最小整数 FLOOR(x) 返回小于或等于某个值的最大整数 LEAST(e1,e2,e3…) 返回列表中的最

2025-03-10 12:00:00 622

原创 MySQL-聚合函数

聚合函数介绍聚合函数作用于一组数据,并对一组数据返回一个值 聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用AVG和SUM函数可以对数值型数据使用AVG 和 SUM 函数SELECT AVG(salary), SUM(salary) FROM employees WHERE job_id LIKE '%REP%';MIN和MAX函数 可以对任意数据类型的数据使用 MIN 和 MAX 函数 SELECT MIN(hire_date), MAX(h

2025-03-10 12:00:00 573

原创 MySQL-数据库管理

创建数据库DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删 旧库完成的# 创建数据库CREATE DATABASE 数据库名;# 创建数据库并指定字符集CREATE DATABASE 数据库名 CHARACTER SET 字符集;# 判断数据库是否已经存在,不存在则创建数据库CREATE DATABASE IF NOT EXISTS 数据库名;数据库使用要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有对象加上“数

2025-03-10 12:00:00 679

原创 MySQL-数字数据类型

常见数据类型类型 类型举例 整数类型 TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT 浮点类型 FLOAT、DOUBLE 定点数类型 DECIMAL 位类型 BIT 日期时间类型 YEAR、TIME、DATE、DATETIME、TIMESTAMP 文本字符串类型 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT 枚举类型 ENUM 集合

2025-03-10 12:00:00 912

原创 MySQL-日期数据类型

YEAR 类型通常用来表示年 DATE 类型通常用来表示年、月、日 TIME 类型通常用来表示时、分、秒 DATETIME 类型通常用来表示年、月、日、时、分、秒 TIMESTAMP 类型通常用来表示带时区的年、月、日、时、分、秒类型 名称 字节 日期格式 最小值 最大值 YEAR 年 1 YYYY或YY 1901 2155 TIME 时间 3 HH:MM:SS -838:59:59 838:59:5

2025-03-10 12:00:00 1458

原创 MySQL-字符串数据类型

CHAR与VARCHAR类型字符串(文本)类型 特点 长度 长度范围 占用的存储空间 CHAR(M) 固定长度 M 0 <= M <= 255 M个字节 VARCHAR(M) 可变长度 M 0 <= M <= 65535 (实际长度 + 1) 个字节 1.CHAR类型:CHAR(M) 类型一般需要预先定义字符串长度。如果不指定(M),则表示长度默认是1个字符。 如果保存时,数据的实际长...

2025-03-10 12:00:00 687

原创 Vue3-常用 Composition API

本质是一个函数,把setup函数中使用的Composition API进行了封装类似于vue2.x中的mixin自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂//hook代码.js//实现鼠标“打点”相关的数据x:0,y:0})//实现鼠标“打点”相关的方法//实现鼠标“打点”相关的生命周期钩子})})//调用hook.jssetup(){//数据//返回一个对象(常用)

2025-03-07 12:00:00 510

原创 Vue3-其它Composition API

对象基本数据类型对象3.shallowReactive 和 shallowRef 都是针对特定场景设计的浅层响应式 API4. 局限性‌:嵌套属性修改需通过触发外层变更(如对象替换)或配合其他 API(如 triggerRef)实现更新‌。

2025-03-07 12:00:00 856

原创 Vue Router路由守卫

1. 全局守卫beforeEachafterEach2. 路由独享守卫3. 组件内路由this/user/:id。

2025-03-05 12:00:00 216

原创 Vue Router基础

基础概念1. 下载依赖:npm install vue-router -g2.github地址:https://github.com/vuejs/vue-router3. 官网地址:https://router.vuejs.org/zh/4.route:首先它是个单数,译为路由,即我们可以理解为单个路由或者某一个路由5. routes:它是个复数,表示多个的集合才能为复数;即我们可以理解为多个路由的集合JS中表示多种不同状态的集合的形式只有数组和对象两种,事实上官方定义route..

2025-03-04 12:00:00 710

原创 Vue Router参数传递

两种传参方式1. $router:路由操作对象,只写入对象//操作路由跳转this.$router.push({ name:'hello', params:{ name:'word', age:'11' }})2. $route:路由信息对象,只读取对象//读取 路由参数接收this.name = this.$route.params.name;this.age = this.$route.params.age;3. 第一种:qu

2025-03-04 12:00:00 189

原创 Vue基础(三)

注册全局指令,使用Vue.directive//指令与元素成功绑定时(一上来)},//指令所在元素被插入页面时},//指令所在的模板被重新解析时})注册局部指令,vue实例中使用directivesnew Vue({myself:{//指令与元素成功绑定时(一上来)},//指令所在元素被插入页面时},//指令所在的模板被重新解析时})Vue.use 会自动阻止多次注册相同插件,届时即使多次调用也只会注册一次该插件。Vue.js 的插件应该暴露一个install方法。

2025-03-03 12:00:00 298

原创 Vue-插槽Slot

插槽Slot

2025-03-03 12:00:00 130

原创 MybatisPlus-注解

1. MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决 定,且默认操作的表名和实体类型的类名一致2. 若实体类类型的类名和要操作的表的表名不一致,访问数据库表将会报错3. 在实体类上添加@TableName("表名"),标识实体类对应的表解决4. 在全局配置中为实体类所对应的表名设置默认的前缀,那么就不需要在每个实体类上通过@TableName标识实体类对应的表。

2025-02-23 15:26:08 727

原创 SpringMVC-注解配置

代替web.xml在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它来配置Servlet容器,这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成 Spring3.2引入了一个便利的WebApplicationInitializer基础实现,名为AbstractAnnotationConfigDispatcherServletIniti

2025-02-17 00:46:50 116

原创 SpringMVC-RESTful与HttpMessageConverter

RESTfulREST:Representational State Transfer,表现层资源状态转移。 资源:是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。一个资源可以由一个或多个URI来标识。URI既是资源的名称,也是资源在Web上的地址。 资源的表述:是一段对于资源在某个特定时刻的状态的描述。可以在客户端-服务器端之间转移(交换)。资源的表述可以有多种格式,例如HTML/XML/JSON/纯文本/图片/视频/音频等 状态转移:在客

2025-02-17 00:45:51 701

原创 SpringMVC-视图、文件上传和下载、拦截器、异常处理器

视图解析1. 视图解析视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户 默认有转发视图(InternalResourceView)和重定向视图(RedirectView) 当工程引入jstl的依赖,转发视图会自动转换为JstlView 视图技术为Thymeleaf,视图解析器解析之后所得到的是ThymeleafView2.转发视图视图名称以"forward:"为前缀时,创建InternalResourceView视图 将前缀"forward:"去掉,剩余部..

2025-02-17 00:41:53 668

原创 SpringMVC-获取请求参数和域对象共享数据

获取请求参数1.通过ServletAPI获取@RequestMapping("/testParam")public String testParam(HttpServletRequest request){ String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("username:.

2025-02-17 00:24:11 904

原创 SpringMVC-RequestMapping注解

几个概念1. 什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 实体类Bean:专门存储业务数据的,如 Student、User 等 业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问 V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据 C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏

2025-02-16 23:35:37 661

原创 Spring-WebFlux

Spring5新特性1.Spring Framework 5 中文文档:Spring Framework 5 中文文档简介(Spring 5 Reference)2. Spring5整体代码基于Java8对java8提高直接的代码支撑 运行时兼容JDK9 许多不建议使用的类和方法在代码库中删除 Spring 5.0框架自带了通用的日志封装3. Spring5配置log4j2Spring5 已经移除Log4jConfigListener 创建 log4j2.xml 配置文件,xml.

2025-02-16 23:31:24 803

原创 Spring-事务

1. 事务概念数据库操作的最基本单元,逻辑上一组操作,要么成功,如果有一个失败,所有操作都失败 Spring事务管理操作:编程式事务管理和声明式事务管理2. 事务四个特性:ACID原子性 一致性 隔离性 持久性3. 基于xml开启事务<!--1 创建事务管理器--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactio

2025-02-16 20:22:16 6

原创 Spring-AOP

1. 什么是AOP?面向切面(方面)编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各个部分之间的耦合度降低,提高程序的可重用性,同时提高开发效率 简单来说就是不通过修改源代码方式,在主干功能里添加新的功能2.AOP底层使用动态代理,动态代理包括两种:有接口的情况,使用jdk动态代理,创建接口实现类代理对象增强类的方法 没有接口,使用CGLIB动态代理,创建子类的代理对象增强类的方法3.AOP(jdk动态代理实例):使用 Proxy 类里面的方法创建代理对象pub..

2025-02-16 17:17:56 449

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除