
MySQL+Redis基础知识
文章平均质量分 85
介绍MySQL基础知识点
风暴计划
一枚代码小菜鸟
展开
-
规范的建表语句
CREATETABLEstudent_info(`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',`stu_name` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '姓名',`stu_class` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '班级',`stu_num` INT NOT NULL DEFAULT '0' COMMENT '学号',`stu_score` SMALL...原创 2022-05-08 16:29:22 · 497 阅读 · 0 评论 -
【MySQL主从复制】2-Mac环境下实现MySQL主从复制
目录1、下载解压包2、解压文件2.1 压缩包解压之后如下2.2 选择第一个文件再次解压3、配置主从服务器的配置文件3.1 配置master主服务器的配置文件:my.cnf3.2 配置从服务器slave1的配置文件:my.cnf3.3配置从服务器slave2的配置文件:my.cnf3.4初始化master和slave服务器与三个窗口截图3.5启动master和slave服务器与三个窗口截图3.6 在master主服务器上创建授权用户+查看master状态3...原创 2021-04-23 13:44:32 · 916 阅读 · 3 评论 -
【MySQL主从复制】1-由浅入深全面理解MySQL的主从复制与读写分离
目录1、简介2、为什么要做主从复制3、MySQL主从复制的原理是什么3.1 MySQL主从复制的大致理解3.2 MySQL主从复制的图解与执行流程4、MySQL主从复制的基本原则5、MySQL主从复制的最大问题:主从延时6、MySQL主从复制的实战6.1 一主三从架构图6.2 环境说明(本文搭建一主两从架构)6.3 主从复制的复制方式6.4 实现MySQL主从复制需要进行的配置6.4.1 修改master配置6.4.2 在master上建立账户并授权s原创 2021-04-22 22:12:40 · 355 阅读 · 1 评论 -
【MySQL锁机制】4-MySQL中锁机制的全面与深入学习
目录1、MySQL中锁的前置知识1.1 MySQL中锁的分类1.2 MySQL支持三种层级的锁定1.2.1 表级锁1.2.2 页级锁1.2.3 行级锁定1.3 如何学习MySQL中的锁知识1.3.1 了解MySQL中大致有哪些锁,建立脑图分类1.3.2 站在存储引擎的角度,具体学习存储引擎支持的锁1.3.3 重点研究InnoDB下行锁的具体实现算法1.3.4 了解InnoDB下锁与事务、锁与索引的联系1.4 事务持有锁的SQL2、MyISAM存储引擎支持的原创 2021-04-22 17:55:48 · 436 阅读 · 0 评论 -
由浅入深全面理解MVCC-2
目录1、什么是MVCC2、什么是InnoDB存储引擎下的当前读和快照读3、当前读、快照读与MVCC的关系4、MVCC能够解决什么问题4.1 数据库中的三种并发场景4.2 MVCC能够解决的问题:读-写冲突4.2.1悲观并发控制、乐观并发控制 与MVCC的关系4.2.2 MVCC能够解决什么问题5、MVCC的实现原理5.1 三个隐式字段5.2 undo log 回滚日志5.2.1 undo log 生成举例5.3 ReadView 读视图5.4 MVC.原创 2021-04-21 17:50:26 · 284 阅读 · 0 评论 -
由浅入深全面理解MVCC-1
目录1、MVCC的理解1.1 MVCC的概念1.2 MVCC的注意事项2、MySQL中的隐藏字段3、读视图:ReadView3.1 ReadView的概念3.2ReadView中的变量 trx_ids3.3ReadView中的变量 trx_ids 理解举例4、回滚日志:Undo log4.1 插入操作:insert4.2 删除操作:delete4.3 修改操作:update4.4 查询操作:select5、MVCC 的实现原理细节6、当前读与快..原创 2021-04-19 17:42:33 · 335 阅读 · 0 评论 -
【MySQL锁机制】3-MySQL中锁机制的深入学习
0、MySQL中加锁的目的与分类0.1 MySQL中加锁的目的数据库是一个【面向多用户共同使用】的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制,就有可能会读取和存储不正确的数据,破坏数据库的一致性。数据库中的锁 是用于管理对公共资源的并发控制。也就是说,在并发情况下,会出现共享资源的竞争问题,所以需要加锁来进行控制。加锁解决了【多用户环境下保证数据库的完整性和一致性】的问题。使用锁的对象是事务,事务使用锁 来锁定数据库中的对...原创 2021-04-19 15:59:35 · 252 阅读 · 0 评论 -
【MySQL锁机制】2-MySQL中锁的分类
目录1、MySQL中锁的简述2、MySQL中常见的几种锁机制2.1 读写锁【是一种行锁row lock】:可分为共享锁和排它锁2.1.1 共享锁(S锁)与排它锁(X锁)的概念2.1.2 另一种方式的读写锁、共享锁与排它锁的SQL演示2.2 意向锁【表级锁table lock】:分为意向共享锁和意向排它锁2.3 记录锁【record lock】2.4 间隙锁【gap lock】2.5 临键锁【next-key lock】2.5.1 临键锁的概念2.5.2 临键锁的S原创 2021-04-19 11:18:01 · 335 阅读 · 0 评论 -
MySQL乐观锁在并发扣减商品库存方面的应用
目录MySQL乐观锁在并发扣减商品库存方面的应用1、经典案例说明:银行转账2、乐观锁介绍:详解内容见这里2.1使用版本号实现乐观锁:数据版本机制,或者时间戳机制2.2使用条件限制实现乐观锁3、解决方案1:使用版本号version实现乐观锁3.1 下单时,商品信息表Goods的变化过程3.2 使用version版本号方案实现乐观锁3.2.1 Goods实体类:3.2.2 GoodsDao层:3.2.3 XML层:mapper.xml:3.2.4 GoodsD..原创 2021-04-19 09:10:59 · 3428 阅读 · 1 评论 -
由浅入深全面分析乐观锁、悲观锁、MVCC
1、什么是并发控制当程序中可能出现并发情况时,就需要保证在并发情况下数据的准确性,以此来确保当前用户和其他用户同时操作数据时,所得到的结果和他自己单独操作时的结果是一样的。这种手段就叫做并发控制(Concurrency Control)。并发控制的目的是:保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就有可能会导致脏读、幻读和不可重复度等问题。常说的并发控制,一般都和数据库管理系统(DBMS)有关。在 DBMS 中的并发控制的任务:是确保在多个事务同时...原创 2021-04-18 11:31:32 · 1612 阅读 · 1 评论 -
由浅入深全面分析MySQL索引底层原理
由浅入深全面分析MySQL索引底层原理1、索引基础索引是MySQL优化中最重要的手段之一,本文从基础到原理,让你重新认识并掌握索引。1.1 什么是索引MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引,对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化,应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。通俗来讲,索引是一种数据结构,类似于一本书的目录,用来提高查询数据的效率。...原创 2021-04-17 11:51:39 · 407 阅读 · 0 评论 -
MySQL为什么要使用B+树来实现数据库索引
本文讲解:MySQL为什么要用B+树来实现数据库索引?索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL数据库的索引主要以B+树为主,但是,要问到为什么要使用B+树来实现数据库索引,恐怕很少有人能够把前因后果完整的讲述出来。本文就从头到尾介绍一下MySQL数据库的索引。索引,是一种数据结构,它的目的是帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意 这里的大量,数据量大了索引才显得有意义,如果我想要在[1,2,3,4] 中找到4这个数据,直...原创 2021-04-17 10:54:59 · 364 阅读 · 0 评论 -
二叉排序树、平衡二叉树、红黑树、B树、B+树
对于一个大型的查找集合,要进行动态查找,应该如何存储这个查找集合呢?假设使用顺序表来存储,如果记录的存储没有任何顺序,那么插入操作很简单,只需要将其放在顺序表的末端。但是,在一个无序的顺序表中进行顺序查找的平均查找时间是 O(N)。对于一个大型的查找集合,这太慢了。提高查找效率的方法是把记录按照某个关键码进行排序。如果使用单链表来实现,排序并不会提高查找效率;如果使用顺序表来实现,那么使用折半查找法只需要时间 O(logN),但是插入时间则需要时间 O(N),因为在有序表中新纪录的存储位置后,需要...原创 2021-04-15 11:28:26 · 1289 阅读 · 0 评论 -
【MySQL事务】2-MySQL中事务的全面与深入理解
目录1、什么是事务?事务举例?2、事务的四大特性是什么?3、创建事务的SQL语法是什么?SQL语句实操?3.1 隐式事务3.2 显式事务13.3 显式事务24、多个事务在不同事务隔离级别下的并发问题?4.1 脏读4.2 不可重复读4.3 幻读5、不同隔离级别所解决的事务并发问题?5.1 RU隔离级别5.2RC隔离级别下:只能解决脏读问题5.3RR隔离级别下:只能解决脏读/不可重复读问题5.4S隔离级别下:可以解决脏读/不可重复读/幻读问题...原创 2021-04-13 12:31:53 · 653 阅读 · 0 评论 -
Redis——Java中使用Jedis操作Redis
目录1、Java中使用Jedis操作Redis-项目中常采用1.1 项目结构1.2 RedisUtils.java 类1.3 JRedisTest.java 类1.4 操作结果(1)控制台输出:(2)Redis服务器输出2、Java中使用Jedis操作Redis-项目实战2.0 项目中加入 jar包2.1字符串(string) 做测试2.2哈希(hash) 做测试2.2.1 使用Jedis连接实例池:RedisUtil.java2.2.2 使用Jedi..原创 2021-01-21 15:45:46 · 684 阅读 · 3 评论 -
Redis——Redis主从复制的配置文件和哨兵模式
1、Redis主从复制的配置文件:include /usr/local/redis-4/redis.confdaemonize yesport 6380pidfile /var/run/redis_6380.pidlogfile 6380.logdbfilename dump6380.rdbinclude /usr/local/redis-4/redis.confdaemonize yesport 6380pidfile /var/run/redis_6380.pidlo...原创 2021-01-21 09:13:38 · 509 阅读 · 1 评论 -
Redis——Redis专题文章与视频
Redis专题文章:(1)Redis在线学习文档(动力节点):http://www.bjpowernode.com/tutorial_redis/(2)(3)原创 2021-01-20 17:51:00 · 205 阅读 · 0 评论 -
MySQL基础学习4-开发中常用的SQL语句:随用随查SQL
CREATE TABLE `MARS_Keyword` ( `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID(词包ID)', `Keyword` varchar(256) NOT NULL DEFAULT '' COMMENT '关键词(词包名)', `Word` text COMMENT '词包(英文逗号分隔的字符串)', `Bu` varchar(256) NOT NULL DEFAULT '' COMMENT '适用B...原创 2020-12-18 23:48:02 · 405 阅读 · 1 评论 -
【MySQL知识点】drop、truncate、delete的用法
目录1 drop、truncate、delete 语法2 drop、truncate、delete 差异2.1 相同点2.2 不同点2.3 实际应用中3 备注:DML与DDL3.1 DML与DDL的含义:3.2 DML与DDL的区别:1 drop、truncate、delete 语法(1)drop table表名称; eg: drop tabledbo.Sys_Test(2)truncate...原创 2020-11-20 19:52:38 · 477 阅读 · 1 评论 -
【MySQL知识点】MySQL中 left join 的on和where的差异
目录1 建表2 插入数据3 测试3.1左连接: A left join B on A.id=B.id, 返回记录数与A表记录数一致,无论A/B表是否能匹配上3.2 左连接中, on条件与where条件过滤的差异3.3使用 where... is null子句的 left join【主旨:MySQL中 left join 的on和where的差异】1 建表drop table ASM_Product if exists;create table ASM_Pr...原创 2020-11-20 17:52:15 · 820 阅读 · 0 评论 -
【MySQL知识点】SQL性能优化示例分析
注意:本文全部转载自,如有需要请看原文:https://www.jianshu.com/p/1d072b9b30bd一、前言最近小农在找工作,因为今年疫情的特殊原因,导致工作不是特别好找,所以一旦有面试电话,如果可以,都会去试一试,刚好接到一个面试邀请,感觉公司还不错,于是就确定了面试时间,准备了一下就去面试了。第一轮面试是小组组长面试,通过。第二轮是经理面试也是通过了。第三轮总监面试,前面都还有模有样,突然画风一转,面试官说:“问你最后一个问题”面试官:10W条数据,我要从其中查出1原创 2020-07-15 22:36:30 · 268 阅读 · 0 评论 -
【MySQL知识点】深入理解MDL元数据锁
【感谢,转载自:https://www.cnblogs.com/kunjian/p/11993708.html】0.前言:当你在MySQL中执行一条SQL时,语句并没有在你预期的时间内执行完成,这时候我们通常会登陆到MySQL数据库上查看是不是出了什么问题,通常会使用的一个命令就是 show processlist,看看有哪些session,这些session在做什么事情。当你看到waiting for table metadata lock时,那就是遇到MDL元数据锁了。本篇文章将...原创 2020-07-13 16:31:18 · 636 阅读 · 0 评论 -
【MySQL锁机制】1-MySQL中的锁机制简介
1、锁的定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。2、锁的生活案例3、锁的分类3.1 从对数据操作的类型(读/写)来看(1)读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会...原创 2020-07-12 15:05:19 · 925 阅读 · 1 评论 -
【MySQL知识点】创建函数与创建存储过程+show profile分析
MySQL批量数据脚本总体流程如下:目标是往表里插入1千万条记录1、建表-- 1 新建部门表Wind_Deptcreate table Wind_Dept(id int unsigned not null auto_increment,deptno mediumint unsigned not null default 0, /*部门编号*/dname varchar(20) not null default "",loc varchar(13) not null defaul...原创 2020-07-12 10:28:50 · 479 阅读 · 0 评论 -
【MySQL知识点】一条查询SQL的执行过程
【为防止优秀文章丢失,特转文供自己查阅。原文链接:https://blog.youkuaiyun.com/weter_drop/article/details/93386581】另MySQL系列博客:MYSQL那些事儿https://www.jianshu.com/nb/32636906一条SQL查询是如何执行的?本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转、sql 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL ...原创 2020-07-11 18:05:23 · 855 阅读 · 1 评论 -
MySQL基础学习3-表变更与索引变更
一、变更表:alter,update1.1 My_Tag改造-- My_Tag表增加productIDs字段:-- 改变内容:+ProductIDs: varchar comment '多个产品id,逗号分隔'-- SQL语句:alter table `My_Tag` add column `ProductIDs` varchar(512) NOT NULL DEFAULT '' COMMENT '多个产品id,逗号分隔';-- My_TagShop表增加cityIDs和Anti字段:-原创 2020-07-11 10:31:29 · 437 阅读 · 0 评论 -
【MySQL知识点】MySQL基础知识学习-来自于视频
(1)B站视频:尚硅谷MySQL数据库高级,mysql优化,数据库优化(周阳老师):https://www.bilibili.com/video/BV1KW411u7vy?p=11(2)B站视频:本教程主要讲授针对 Java 开发所需的 MySQL 高级知识,课程中会让大家快速掌握索引,如何避免索引失效,索引的优化策略,了解innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握explain、show profile、慢查询日志等日常SQL诊断和性能分析策略。M原创 2020-07-10 18:10:38 · 350 阅读 · 0 评论 -
MySQL事务和锁机制详解-图解2
B站视频:https://www.bilibili.com/video/BV1W64y1u761?p=1B站视频:https://www.bilibili.com/video/BV1xz4y1R7sY?p=1MySQL局部性原理:TODO,含义查询一下。MVCC:版本链:事务ID+这个事务做的update操作一个事务提交之后或者回滚之后,那么这个事务所获取到的锁就释放了。示例1:注意,这里的 a 字段是主键,...原创 2020-07-09 09:23:44 · 186 阅读 · 0 评论 -
MySQL事务和锁机制详解-图解1
1、数据库事务的典型业务场景2、什么是事务3、哪些存储引擎支持事务4、事务的四大特性5、数据库什么时候出现事务6、事务并发会带来什么问题原创 2020-07-06 21:18:03 · 587 阅读 · 0 评论 -
【MySQL知识点】内连接、左连接、右连接
目前有2个表:users表和scores表,它们的数据如下:mysql> SELECT * FROM users;+----+----------+| id | username |+----+----------+| 1 | xiaoming || 2 | awen || 3 | kate || 4 | lily |+----+----------+4 rows in set (0.00 sec) mysql> SELECT * FR原创 2020-07-04 16:58:49 · 201 阅读 · 0 评论 -
MySQL基础学习2-基础语句
一、SQL语句分类 DDL:数据定义语言:create、drop、alter DML:数据操作语言:insert、delete、update、truncate DQL:数据查询语言:select、show、desc MySQL存储结构:先有数据库,再有表,最后填充记录!二、数据库管理MySQL语句都是以分号;结尾的!1、基本语法(创建数据库时使用数据库的默认字符集):create database 数据库名称;2、查看数据库列表:show databases;原创 2020-07-04 11:11:34 · 1150 阅读 · 0 评论 -
MySQL基础学习1-安装数据库
SQL语句执行过程编码原则:对于已有的代码,我们要做到 对扩展开放,对修改关闭。select <1> from <2> where <3> group by <4> having <5> order by <6> limit <7>WHERE过滤→分组→聚合函数******SQL的执行顺序如下******–第一步:执行 from–第二步:分组前的条件过滤 where–第三步:分组 group by–第四步原创 2020-07-04 10:50:47 · 235 阅读 · 0 评论 -
【MySQL事务】1-MySQL中事务的简单理解
下面是一位牛人写得关于数据库事务基础知识的文字,因为很好,不敢修饰,转载至此与博友共享。原文博客:https://blog.youkuaiyun.com/dengjili/article/details/82468576事务管理(ACID)谈到事务一般都是以下四点原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。一致性(Consistency)事务前后数据的完整性必须保持一致。隔离性(Isolation)事务的隔离性是多个用户并发访问.原创 2020-07-01 09:38:03 · 348 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
下面是一位牛人写得关于数据库索引的精品之作,因为很好,不敢修饰,转载至此与博友共享。原文链接:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引.转载 2020-06-24 16:15:41 · 236 阅读 · 0 评论 -
【MySQL知识点】MySQL中SQL执行顺序与正则表达式
20170925_数据库查询结构原创 2017-09-25 21:12:30 · 393 阅读 · 0 评论 -
【MySQL知识点】group by 的原理和理解
(1)文章转载自:https://blog.youkuaiyun.com/qq403580298/article/details/90756352?ops_request_misc=&request_id=&biz_id=102&utm_term=mysql%20group%20by&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-90756352(2)复制过来重新发布,原创 2020-06-05 19:55:58 · 2859 阅读 · 5 评论