![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 52
Chasing__Dreams
这个作者很懒,什么都没留下…
展开
-
Mysql--基础知识点--87--分库、分表、分区的情景
MySQL中的分库、分表和分区是数据库优化的重要手段,用于解决数据量增长、性能瓶颈以及高并发等问题。原创 2024-07-05 11:20:25 · 172 阅读 · 0 评论 -
Mysql--基础知识点--86--慢查询
mysql 慢查询原创 2024-06-11 18:40:56 · 886 阅读 · 0 评论 -
Mysql--基础知识点--85--mysql体系结构图
MySQL体系结构图转载 2024-05-24 15:49:09 · 46 阅读 · 0 评论 -
MySQL--基础知识点--84--MySQL分布式锁
基于MySQL实现的分布式锁基于mysql数据库的分布式锁转载 2021-05-04 22:00:30 · 89 阅读 · 0 评论 -
MySQL--基础知识点--83--主从复制
1 MySQL主从复制的原理MySQL主从复制是一个异步的复制过程,数据从一个MySQL数据库(master)复制到另一个MySQL数据库(slave),master和slave之间实现主从复制,主要由3个线程来完成工作。分别为: I/O dump线程(Master端),I/O线程、SQL线程(Slave端)在slave节点上执行start slave命令开启主从复制,开始进行复制slave节点上的IO线程会通过master节点上已经授权的复制用户请求连接master节点,并请求将执行binlo转载 2021-05-02 11:42:57 · 101 阅读 · 0 评论 -
MySQL--基础知识点--81--事务/存储过程/存储函数/触发器/事件 示例
示例所用表Create Table: CREATE TABLE `student` ( `sid` int NOT NULL AUTO_INCREMENT, `snum` int NOT NULL, `sname` varchar(20) NOT NULL, `sage` tinyint DEFAULT NULL, `sclass` smallint NOT NULL, PRIMARY KEY (`snum`), UNIQUE KEY `student_num` (`sid`)原创 2020-11-10 14:51:21 · 136 阅读 · 1 评论 -
MySQL--基础知识点--79--GTID
原创 2020-11-05 15:18:21 · 63 阅读 · 0 评论 -
MySQL--基础知识点--78--数据表的损坏与修复
[源于《MySQL面试笔试宝典》]原创 2020-11-05 15:17:55 · 65 阅读 · 0 评论 -
MySQL--基础知识点--77--MySQL备份
[源于《MySQL面试笔试宝典》]原创 2020-11-04 19:32:30 · 63 阅读 · 0 评论 -
MySQL--基础知识点--75--MySQL语句的基本语法
[源于《MySQL必知必会》]原创 2020-11-04 17:29:55 · 77 阅读 · 0 评论 -
MySQL--基础知识点--74--安全管理/授权
[源于《MySQL必知必会》]原创 2020-11-04 17:14:51 · 76 阅读 · 0 评论 -
MySQL--基础知识点--73--管理事务处理
[源于《MySQL必知必会》]原创 2020-11-04 16:58:21 · 79 阅读 · 1 评论 -
MySQL--基础知识点--72--cursor(游标)
[源于《MySQL必知必会》]原创 2020-11-04 16:26:11 · 108 阅读 · 0 评论 -
MySQL--基础知识点--71--view(视图)
[源于《MySQL必知必会》]原创 2020-11-02 22:12:49 · 74 阅读 · 0 评论 -
MySQL--基础知识点--70--常用命令
select version(), @@version, user(), database();通过version()函数可以查询版本,通过user()函数可以查询当前登录数据库的用户,通过database()函数可以获取当前连接的数据库名称。通过查询mysql.user查询数据库的用户select distinct concat('user: ''', user, '''@''', host, ''';') as query from mysql.user;select us.原创 2020-11-02 22:05:38 · 303 阅读 · 0 评论 -
MySQL--基础知识点--69--AUTO_INCREMENT/DEFAULT
[源于《MySQL必知必会》]原创 2020-11-02 21:52:35 · 209 阅读 · 0 评论 -
MySQL--基础知识点--68--update
1 UPDATE为了更新(修改)表中的数据,可使用UPDATE语句。可采用两种方式使用UPDATE:更新表中特定行更新表中所有行注意:不要省略WHERE子句 ,在使用UPDATE时一定要注意细心。因为稍不注意,就会更新表中所有行。UPDATE与安全,可以限制和控制UPDATE语句的使用。UPDATE语句由三部分组成,分别是:要更新的表;列名和它们的新值;确定要更新行的过滤条件。2 UPDATE常用情景2.1 更新一个表中的某个字段UPDATE customersSET原创 2020-11-02 21:46:24 · 449 阅读 · 0 评论 -
MySQL--基础知识点--67--insert
[源于《MySQL必知必会》]原创 2020-11-02 20:48:36 · 57 阅读 · 0 评论 -
MySQL--基础知识点--66--全文本搜索
[源于《MySQL必知必会》]原创 2020-11-01 22:14:21 · 50 阅读 · 0 评论 -
MySQL--基础知识点--65--组合查询
[源于《MySQlL 必知必会》]原创 2020-11-01 21:37:45 · 129 阅读 · 0 评论 -
MySQL--基础知识点--64--等值连接/自连接/自然连接/外连接
该篇文章基于以下三个表进行解析student表DROP TABLEIF EXISTS `student`; CREATE TABLE student ( `sid` INT NOT NULL AUTO_INCREMENT, `snum` INT NOT NULL PRIMARY KEY, `sname` VARCHAR ( 20 ) NOT NULL, `sage` TINYINT, `sclass` SMALLINT NOT NULL, #PRIMARY KEY ( `sid`原创 2020-11-01 17:16:51 · 1410 阅读 · 0 评论 -
MySQL--基础知识点--63--where/having
不同点:where 过滤指定的是行不是分组,having过滤的是指定的分组。where 不能使用聚集函数,having可以使用聚集函数。where 在数据分组前进行过滤,having在数据分组后进行过滤。使得where排除的行不包括在分组中,这可能会改变计算值,从而影响having子句中基于这些值过滤的分组。相同点:having支持所有where操作符。...原创 2020-10-30 22:07:14 · 193 阅读 · 0 评论 -
MySQL--基础知识点--62--常用函数
1 文本处理函数函数说明示例Left()返回串左边的字符SELECT Left(“zhangsan”, 2);Right()返回串右边的空格SELECT Right(“zhangsan”);Length()返回串的长度SELECT Length(“zhangsan”)Locate()返回子串在主串中的起始位置SELECT Locate(“san”, “zhangsan”)Lower()将串转换为小写SELECT Lower(“ZHANGS原创 2020-10-30 21:55:14 · 90 阅读 · 0 评论 -
MySQL--基础知识点--61--对MySQL的大表优化
[引用《MySQL面试笔试宝典》]原创 2020-10-30 15:55:54 · 76 阅读 · 0 评论 -
MySQL--基础知识点--60--查看SQL的执行效率/定位执行效率低的SQL语句/CPU非常高时处理方法
1 查看SQL的执行效率2 定位执行效率低的SQL语句[引用《MySQL面试笔试宝典》]原创 2020-10-28 20:22:46 · 94 阅读 · 0 评论 -
MySQL--基础知识点--59--常见的SQL Hint (提示)
[源于《MySQL面试笔试宝典》]原创 2020-10-28 20:17:53 · 161 阅读 · 0 评论 -
MySQL--基础知识点--57--隐式类型转换
[源于《MySQL面试笔试宝典》]原创 2020-10-28 20:14:10 · 99 阅读 · 0 评论 -
MySQL--基础知识点--56--对SQL语句进行trace
[引用《MySQL程序员面试笔试宝典》]原创 2020-10-28 20:08:55 · 102 阅读 · 0 评论 -
MySQL--基础知识点--55--MySQL优化
[源于《MySQL程序员面试笔试宝典》]原创 2020-10-28 20:04:47 · 95 阅读 · 0 评论 -
MySQL--基础知识点--54--check/optimize/analyze
[源于《MySQL程序员面试笔试宝典》]原创 2020-10-28 19:56:56 · 82 阅读 · 0 评论 -
MySQL--基础知识点--53--profile分析SQL语句性能消耗
1 前言2 流程简易流程大概如下:set profiling=1; //打开分析 run your sql1; run your sql2; show profiles; //查看sql1,sql2的语句分析 show profile for query 1; //查看sql1的具体分析 show profile ALL for query 1; //查看sql1相关的所有分析【主要看i/原创 2020-10-28 16:02:27 · 172 阅读 · 0 评论 -
MySQL--基础知识点--52--explain/QEB
[源于《MySQL程序员面试笔试宝典》]原创 2020-10-28 15:09:12 · 108 阅读 · 0 评论 -
MySQL--基础知识点--51--dual
1. mysql中的dual表在Mysql和SQL Server中可以直接select 1不需要加from 表名就可以执行 ,而在Oracle中要满足select from的结构:select 1不能实现满足上述结构,于是Oracle引入dual虚拟表来满足结构。 Oracle这样表示:select 1 from dual现在一般线上使用的MySQL都是5.5以上的,在mysql里也存在和oracle里类似的dual虚拟表:官方声明纯粹是为了满足select … from…这一习惯问题,mysql会忽转载 2020-10-27 19:00:35 · 531 阅读 · 1 评论 -
MySQL--基础知识点--50--索引
[引用MySQL程序员面试笔试宝典]原创 2020-10-26 17:08:51 · 92 阅读 · 0 评论 -
MySQL--基础知识点--49--B+Tree索引/聚集索引_非聚集索引/联合索引
1. 为什么索引通常使用B+Tree数据结构,而不是用其他数据结构。(1) 不使用二叉排序树的原因二叉排序树整体结构受结点插入顺序的影响,最坏情况下,索引按递增或递减的顺序插入,会使整个二叉排序树成为一个单链表,查找过程成为与每个记录的索引进行对比,时间复杂度会变为O(n)。(2) 不使用红黑树的原因可以避免使用二叉排序树树的结构有可能是单链表问题,但使用红黑树树的深度仍然过深。红黑树每个结点只能放一个记录索引,导致记录数量非常大时,红黑树的深度过深。(3) 不使用B-Tree的原因可以解决原创 2020-10-14 16:09:52 · 215 阅读 · 0 评论 -
MySQL--基础知识点--47--存储过程/存储函数
1. 引言存储过程和存储函数类似于面向对象程序设计语言中的方法,可以简化代码,提高代码的重用性。本文主要介绍如何创建存储过程和存储函数,以及存储过程与函数的使用、修改、删除等操作。2. 存储过程与存储函数MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序。与一般的SQL语句需要先编译然后立即执行不同,存储程序是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,当用户通过指定存储程序的名字并给定参数(如果该存储程序带有参数)来调用才会执行。存储程序就是一条或者转载 2020-10-08 17:34:41 · 852 阅读 · 1 评论 -
MySQL--基础知识点--46--一条select语句引出Server层和存储引擎层
我们先来写一条最普通的SQL查询语句:mysql> select * from T where ID=10;没问题,这个语句只要我们稍微有点数据库基础应该都可以看懂,那就是从表T中找到ID=10的数据,并且输出该行所有字段。那么问题来了,这个语句在MySQL内部是如何执行的?下边通过介绍MySQL的基本逻辑架构图来详细阐述。MySQL基本逻辑架构图:从上图可以看出,MySQL内部逻辑架构包括Server层以及下边的存储引擎层。Server层又包括连接器,查询缓存,分析器,优化器和执行器。存转载 2020-10-08 13:02:36 · 246 阅读 · 0 评论 -
MySQL--基础知识点--45--一条update语句引出MySQL日志系统
前言:通过一条update更新语句来引出MySQL日志系统,主要包括redo log(重做日志)模块和binlog(归档日志)模块。虽然,MySQL中还有undo log(回滚日志)的概念,但是回滚日志主要用来一致性视图中实现MVCC。正文:假设现在有一张表,建表语句如下:mysql> create table T(ID int primary key, c int);我们再来看一个简单的更新语句:mysql> update T set c=c+1 where ID=2;MyS转载 2020-10-08 12:33:26 · 207 阅读 · 0 评论 -
MySQL--基础知识点--44--MVCC
MVCC多版本并发控制!首先声明,MySQL的测试环境是5.7前提概要什么是MVCC什么是当前读和快照读?当前读,快照读和MVCC的关系MVCC实现原理隐式字段undo日志Read View(读视图)整体流程MVCC相关问题RR是如何在RC级的基础上解决不可重复读的?RC,RR级别下的InnoDB快照读有什么不同?1. 前提概要1.1 什么是MVCC?MVCCMVCC,全称Multi-Version Concurrency Control,即多版本转载 2020-10-06 20:45:30 · 302 阅读 · 0 评论 -
MySQL--基础知识点--43--定时任务(event事件)
1.事件简介事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Win转载 2020-10-05 11:44:27 · 503 阅读 · 0 评论