数据库-MySQL
脚踏实地,仰望星空
加油,坚持努力。
展开
-
mysql日志:redo log、binlog、undo log 区别与作用
一、redo log 重做日志 作用:确保事务的持久性。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。 内容:物理格式的日志,记录的是物理数据页面的修改的信息,其redo log是顺序写入redo log file的物理文件中去的。二、bin log 归档日志(二进制日志) 作用:用于复制,在主从复制中,从库利用主库上的binlog进行重播,实现主从同步。用于数据库的基于时间点的还原.转载 2021-06-30 23:22:14 · 2531 阅读 · 0 评论 -
MySQL之explain select type、type类型说明
一:MySQL之explain select type、type类型说明原创 2021-06-21 00:02:24 · 271 阅读 · 0 评论 -
MySQL之乐观锁和悲观锁
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。...原创 2021-06-10 21:18:34 · 858 阅读 · 0 评论 -
怎么保证缓存和数据库数据的一致性?
淘汰缓存还是更新缓存?选择淘汰缓存原因:数据可能为简单数据,也可能为较复杂的数据,复杂数据进行缓存的更新操作,成本较高,因此一般推荐淘汰缓存先淘汰缓存还是先更新数据库?选择先淘汰缓存,再更新数据库原因:假如先更新数据库,再淘汰缓存,假如缓存淘汰失败,那么后面的请求都会得到脏数据,直至缓存过期。假如先淘汰缓存再更新数据库,如果数据库更新失败,只会产生一次缓存miss,相比较而言,后者对业务影响更小一点。延时双删策略如下场景:同时有一个请求A进行更新操作,另一个请求B进行查询操作。.原创 2021-05-31 21:31:39 · 140 阅读 · 0 评论 -
MySQL底层事务实现的原理
一:MySQL底层事务实现的原理原创 2021-03-27 00:40:16 · 134 阅读 · 0 评论 -
mysql中的存储引擎
一:MySQL中的存储引擎原创 2021-03-27 00:39:23 · 45 阅读 · 0 评论 -
MySQL底层原理分析
一: MySQL为什么要选B+数作为底层的数据结构推荐的算法演示平台MySQL的底层算法有B数、红黑树、hash、B+树,为什么就选择了B+树作为数据库的底层物理结构二:聚簇索引和非聚簇索引的区别三:主键索引和普通索引的区别四:联合索引的底层是如何实现的五:MySQL的主键为什么建议为整型而且要自增...原创 2020-04-27 00:01:06 · 844 阅读 · 0 评论 -
Mysql中explain用法和结果字段的含义介绍
转发博客地址:https://blog.csdn.net/u010648555/article/details/81106983转载 2019-06-16 16:41:50 · 147 阅读 · 0 评论 -
mysql优化存储过程中批量插入的速度
转载博客地址:https://blog.csdn.net/xiakepan/article/details/52703189转载 2019-06-14 23:47:52 · 812 阅读 · 0 评论 -
Mysql rand()函数使用方法和性能测试
什么是mysql rand函数?rand专业的意思是指:返回一个随机浮点值;rand通俗的意思是“随机”的意思,比如说,我们想随机取数据库的文章,就可以直接用rand函数;mysql rand 简单使用方法:我们有一张全国城市地区信息表:region;共 3524 条数据,我们现在需要:随机取region表20条数据;SELECT*FROM`region`ORDE...原创 2019-06-13 00:45:08 · 3257 阅读 · 0 评论 -
update会锁表吗?
两种情况:1.带索引 2.不带索引前提介绍:方式:采用命令行的方式来模拟1.mysq由于默认是开启自动提交事务,所以首先得查看自己当前的数据库是否开启了自动提交事务。命令:select @@autocommit;结果如下:+--------------+| @@autocommit |+--------------+| 0 |+-----...原创 2019-04-25 23:30:48 · 1118 阅读 · 1 评论 -
MySQL事务(脏读、不可重复读、幻读)
转载地址:https://www.cnblogs.com/huanongying/p/7021555.html原创 2018-12-25 15:18:39 · 124 阅读 · 0 评论 -
MySQL之存储过程和函数
一:什么是存储过程?存储过程就是一条或者多条SQL语句的集合,可视为批文件,但是其作用不仅限于批处理。二:创建存储过程和函数MySQL中创建存储过程和函数分别使用CREATE PROCEDURE和CREATE FUNCTION使用CALL语句来调用存储过程,存储过程也可以调用其他存储过程函数可以从语句外调用,能返回标量值1:创建存储过程语法: proc_para...原创 2018-12-15 23:08:18 · 151 阅读 · 0 评论 -
MySQL之触发器
一:什么是触发器?触发器是个特殊的存储过程,不同的是,执行存储过程要使用CALL语句来调用,而触发器的执行不需要调用使用CALL语句来调用,也不需要手工启动,只要当一个预定义的事件发生的时候,就会被MySQL自动调用。二:触发器的相关操作1:创建只有一个执行语句的触发器语法如下:创建account表,ins_sum触发器,插入数据,显示触动触发器之后的结果,具体sql语...原创 2018-12-13 23:17:15 · 105 阅读 · 0 评论 -
MySQL之聚合查询、子查询、合并查询、正则表达式查询详解
一:聚合查询1:MySQL之聚合函数基本表orderitems表结构如下:2:count()函数2.1:count()函数用来统计记录的条数2.2:与group by 关键字一起使用SQL语句如下:查询的结果如下:3:sum()函数3.1:sum()函数是求和函数3.2:与group by关键字一起使用SQL语句如下:查询的结...原创 2018-12-05 00:12:38 · 1838 阅读 · 0 评论 -
MySQL之内连接、左(外)连接、右(外)连接详解
用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来操作一下内连接,左(外)连接,右(外)连接。MySQL:Navicat数据库表:a_table、b_table主题:内连接、左连接(左外连接)、右连接(右外连接)建表语句:往表中插入数据:表测试数据如下:一:内连接关键字:inner join ...原创 2018-12-04 21:54:37 · 794 阅读 · 0 评论 -
Linux系统下MySQL的安装
1:下载MySQL安装包下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads直接点击No thanks, just start my download.2:将下载好的文件传输到 /usr/local/mysql路径下,然后解压tar -zxvf mysql-5.6.39-linux-glibc2.12-...原创 2018-12-01 23:10:38 · 114 阅读 · 0 评论 -
MySQL中的视图
一:什么是视图通俗的讲,视图就是一条select语句执行后返回的结果集。所以在创建视图的时候,主要工作就落在创建这条SQL查询语句上了。二:视图的特性视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变),可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);三:视图的作用方便操作,特别是查询操作,减少复...原创 2018-11-30 20:45:53 · 99 阅读 · 0 评论 -
MySQL5.7.21解压版安装详细教程
博客上面有详细的介绍,博客地址:https://blog.csdn.net/recky_wiers/article/details/79243804原创 2019-03-20 15:12:57 · 81 阅读 · 0 评论 -
推荐:mysql锁 innodb下的记录锁,间隙锁,next-key锁
地址:https://blog.csdn.net/bigtree_3721/article/details/73731377转载 2018-12-25 16:32:57 · 242 阅读 · 0 评论