![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 60
沉泽·
心中有阳,眼里有光。
展开
-
Mysql基础-变量(五)
一、概述 #变量/*系统变量: 全局变量 会话变量自定义变量: 用户变量 局部变量*/#一、系统变量/*说明:变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别使用步骤:1、查看所有系统变量show global|【session】variables;2、查看满足条件的部分系统变量show global|【session】 variables like '%char%';原创 2021-09-16 15:51:52 · 59 阅读 · 0 评论 -
MySql高级-锁机制(六)
一、概述1.1 定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、V/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保让数据开友访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。1.2 生活购物打个比方,我们到淘宝上买一件商品,商品只有一件库存,这个时候如果还有另一个人买,那么如何解决是你买到还是另一个人买到的问题?这里肯定要转载 2021-09-19 12:01:21 · 139 阅读 · 0 评论 -
MySql高级-慢查询日志(五)
二、 慢查询日志2.1 是什么MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long _query_time的默认值为10,意思是运行10秒以上的语句。由他来查看哪些SQL超出了我们的最大忍耐时间值,比如一条sql执行超过5秒钟,我们就算慢SQL,希望能收集超过5秒的sql,转载 2021-09-18 14:19:46 · 266 阅读 · 0 评论 -
MySql高级-排序优化(四)
一、查询优化1.1 小表驱动大表永远小表驱动大表,类似嵌套循环Nested LoopEXISTSSELECT … FROM table WHERE EXISTS (subquery)该语法可以理解为。将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE或FALSE)来决定主查询的数据结果是否得以保留。提示1.EXISTS(subquery)只返回TRUE 或FALSE,因此子查询中的SELECT*也可以是select 1或select’X’,官方说法是实际执行时会忽略SELEC转载 2021-09-17 11:47:27 · 565 阅读 · 0 评论 -
Mybatis调用存储过程和函数
一、前言本文汇总了java和Mybatis调用存储过程和函数的使用。Mybatis调用参考:https://blog.csdn.net/dwenxue/article/details/82257944JDBC调用参考:https://my.oschina.net/u/3038200/blog/3197315一、Mybatis方式调用1.1 创建UserMapperpackage com.po;public class User { private Integer id; private S转载 2021-09-16 17:24:06 · 2334 阅读 · 0 评论 -
Mysql基础-流程控制结构(八)
一、顺序结构程序从上往下依次执行二、分支结构#1.if函数/*语法:if(条件,值1,值2)功能:实现双分支应用在begin end中或外面*/#2.case结构/*情况1:类似于switch,一般用于实现等值判断语法:case 变量或表达式或字段when 值1 then 值或语句1;when 值2 then 值或语句2;...else 值或语句n;end 情况2:类似于java中的多重IF语句,一般用于实现区间判断语法:case when 条件1 the原创 2021-09-16 16:25:15 · 92 阅读 · 0 评论 -
Mysql基础-函数(七)
一、概述#函数/*含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新函数:有且仅有1 个返回,适合做处理数据后返回一个结果*/二、语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN函数体END/*注意:1.参数列表 包含两部分:参数名 参数类型2.函数体:原创 2021-09-16 16:21:56 · 91 阅读 · 0 评论 -
Mysql基础-存储过程(六)
一、概述#存储过程和函数/*存储过程和函数:类似于java中的方法好处:1、提高代码的重用性2、简化操作/#存储过程/含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率*/二、语法一、创建语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN存储过程体(一组合法的SQL语句)END#注意:/*1、参数列表包含三部分参数模式 参数名 参数类型原创 2021-09-16 16:17:53 · 87 阅读 · 0 评论 -
Mysql基础-视图的讲解(四)
一、概述视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟 存在的表,行和列的数据来自定义视图的查询中使用的表 ,并且是在使用视图时动态生成的,只保存了sql逻辑,不 保存查询结果概念:视图保存了对基本表或其他视图的查询定义,其运行结果来源于对基表的查询数据集的引用。用户可以像对基本表一样对待视图,可以插入、删除、更新其中的数据,并将更改的结果永久地保存在磁盘上的基本表。优点:简化用户操作、灵活定制数据、重构逻辑数据、提供安全保护。/*含义:虚拟表,和普通表一样使用mysql5原创 2021-09-16 15:44:49 · 66 阅读 · 0 评论 -
Mysql基础-TCL语言的学习(三)
一、事务和事务处理1.1 概述#TCL/*Transaction Control Language 事务控制语言事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。案例:转账张三丰 1000郭襄 1000update 表 set 张三丰的余额=500 where name='张三丰'意外update 表 set 郭襄的余额=1500 where name='郭襄'事务的特性:ACID原子性:一个事务不可再分割,要么都执行要么都不执原创 2021-09-16 15:38:09 · 67 阅读 · 0 评论 -
Mysql基础-DDL语言的学习(二)
一、库的管理1.1 概述/*数据定义语言库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除创建: create修改: alter删除: drop//语法:create database [if not exists]库名;*/1.2 示例#案例:创建库BooksCREATE DATABASE IF NOT EXISTS books ;#2、库的修改(已经被禁止使用)RENAME DATABASE books TO 新库名;#更改库的字原创 2021-09-16 15:09:49 · 76 阅读 · 0 评论 -
Mysql基础-DQL语言的学习(一)
一、基础查询1.1 语法语法:select 查询列表 from 表名;类似于:System.out.println(打印东西);特点:1、查询列表可以是:表中的字段、常量值、表达式、函数2、查询的结果是一个虚拟的表格1.2 示例#1.查询表中的单个字段SELECT last_name FROM employees;#2.查询表中的多个字段SELECT last_name,salary,email FROM employees;#3.查询表中的所有字段#方式一:SELEC原创 2021-09-14 17:13:35 · 113 阅读 · 0 评论 -
MySql高级-索引优化案例(三)
一、索引分析1.1 单表案例1.1.1 sqlcreate table if not exists `article`(`id` int(10) unsigned not null primary key auto_increment,`author_id` int(10) unsigned not null,`category_id` int(10) unsigned not null,`views` int(10) unsigned not null,`comments` int(10)转载 2021-09-14 12:06:42 · 214 阅读 · 0 评论 -
MySql高级-索引优化分析(二)
2.1 性能下降SQL慢执行时间长,等待时间长数据过多:分库分表关联了太多的表,太多join:SQL优化没有充分利用到索引:索引建立服务器调优及各个参数设置:调整my.cnf2.2 SQL预热:常见通用的Join查询2.2.1 Join图‘2.2.2 建表SQLCREATE TABLE `t_dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARC转载 2021-09-14 11:21:08 · 333 阅读 · 0 评论 -
MySql高级-架构介绍(一)
1.5 Mysql逻辑架构介绍1.总体概览和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。1)连接层最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通转载 2021-09-14 09:10:58 · 106 阅读 · 0 评论