
数据库
JMW1407
这个作者很懒,什么都没留下…
展开
-
Mysql中的锁机制——InnoDB锁
InnoDB锁InnoDB锁一、InnoDB锁参考InnoDB锁一、InnoDB锁参考1、https://www.cnblogs.com/leedaily/p/8378779.html2、https://zhuanlan.zhihu.com/p/2138140003、https://zhuanlan.zhihu.com/p/1492284604、https://zhuanlan.zhihu.com/p/95207161转载 2020-11-09 09:19:02 · 280 阅读 · 0 评论 -
Mysql中的锁机制——MyISAM表锁
MyISAM表锁MyISAM表锁1、MyISAM表锁1.1、MyISAM存储引擎的锁阻塞实例1.2、如何加表锁参考:MyISAM表锁1、MyISAM表锁MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)和表独占写锁(Table Write Lock)。对MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;对 MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作;MyISAM表的读操作与写操作之间,以及写操作之间是串行的!根据如表20-2转载 2020-11-08 11:14:06 · 930 阅读 · 0 评论 -
Mysql中的锁机制详解(悲观锁、乐观锁,行锁、表锁)
Mysql里的锁Mysql里的锁1、为什么要加锁?2、什么是锁3、锁是基于什么实现的?4、数据库中的锁分类4.1、什么悲观锁?4.2、什么乐观锁?4.3、表锁(偏读)4.3.1、特征4.3.2、使用4.4、行锁(偏写)4.4.1、特征4.4.2、使用参考Mysql里的锁1、为什么要加锁?我们知道,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。从这一角度来说,锁对于数据库而言就显得尤为重要。原创 2020-11-07 10:52:26 · 896 阅读 · 0 评论 -
mysql优化—— 索引查询优化
查询优化查询优化一、小表驱动大表查询优化一、小表驱动大表优化原则:对于MySQL数据库而言,永远都是小表驱动大表。/*** 举个例子:可以使用嵌套的for循环来理解小表驱动大表。* 以下两个循环结果都是一样的,但是对于MySQL来说不一样,* 第一种可以理解为,和MySQL建立5次连接每次查询1000次。* 第一种可以理解为,和MySQL建立1000次连接每次查询5次。*/for(int i = 1; i <= 5; i ++){ for(int j = 1; j &l原创 2020-11-06 10:49:59 · 243 阅读 · 0 评论 -
mysql优化—— 索引失效案例分析
索引失效索引失效索引失效的情况1、全值匹配我最爱2、最佳左前缀法则索引失效索引失效的情况1、全值匹配我最爱。2、最佳左前缀法则。3、不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描。4、索引中范围条件右边的字段会全部失效。5、尽量使用覆盖索引(只访问索引的查询,索引列和查询列一致),减少SELECT *。6、MySQL在使用!=或者<>的时候无法使用索引会导致全表扫描。7、is null、is not nu原创 2020-11-05 15:50:10 · 349 阅读 · 0 评论 -
mysql优化—— 索引分析
索引分析索引分析1、单表索引分析2、两表索引分析3、三表索引分析结论索引分析1、单表索引分析数据准备DROP TABLE IF EXISTS `article`;CREATE TABLE IF NOT EXISTS `article`(`id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',`author_id` INT(10) UNSIGNED NOT NULL COMMENT '作者id',`cate原创 2020-11-04 19:36:11 · 141 阅读 · 0 评论 -
mysql优化—— Explain字段介绍和使用
explain详解explain详解1、MySQL数据库基本架构2、explain定义、使用3、explain字段说明3.1、id:表的读取和加载顺序3.2、select_type: 查询中每个select子句的类型3.3、table:对应行正在访问哪一个表,表名或者别名3.4、type:访问类型参考explain详解1、MySQL数据库基本架构MySQL数据库和其他数据库相比,MySQL有点与众不同,主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离。原创 2020-11-03 16:24:36 · 956 阅读 · 0 评论 -
浅谈MySQL 数据库中InnoDB存储引擎的 MVCC机制 实现的基本原理
MVCC 机制MVCC 机制(Multiversion Concurrency Control)1、背景2、定义和特征3、实现原理3.1、表格的隐藏列参考MVCC 机制(Multiversion Concurrency Control)1、背景InnoDB 相比 MyISAM 有两大特点,一是支持事务而是支持行级锁,事务的引入带来了一些新的挑战。相对于串行处理来说,并发事务处理能大大增加数据库资源的利用率,提高数据库系统的事务吞吐量,从而可以支持可以支持更多的用户。但并发事务处理也会带来一些问题,主要原创 2020-08-08 12:59:54 · 818 阅读 · 1 评论 -
浅谈什么是Mysql数据库中的悲观锁和乐观锁?
悲观锁和乐观锁悲观锁和乐观锁1、什么悲观锁?2、什么乐观锁?参考悲观锁和乐观锁1、什么悲观锁?悲观锁是基于一种悲观的态度类来防止一切数据冲突,以一种预防的姿态在修改数据之前把数据锁住;然后再对数据进行读写,在它释放锁之前任何人都不能对其数据进行操作直到前面一个人把锁释放后下一个人数据加锁才可对数据进行加锁,然后才可以对数据进行操作,一般数据库本身锁的机制都是基于悲观锁的机制实现的;悲观锁更适用于多写少读的情况。特点:可以完全保证数据的独占性和正确性,因为每次请求都会先对数据进行加锁,原创 2020-08-07 22:07:36 · 523 阅读 · 0 评论 -
MySQL事务:ACID特性的实现原理(redo log 与 undo log)
ACID特性的实现原理ACID特性的实现原理1、背景(什么是事务)2、四大特性(ACID)2.1、原子性(Atomicity)2.1.1、定义2.1.2、undo log(回滚日志)2.2、持久性(Durability )2.2.1、定义2.2.2、redo log(重做日志)2.3、隔离性(Isolation)2.3.1、定义2.3.2、锁机制(后续详细介绍)2.3.3、并发读写问题2.3.4、事务隔离级别2.3.5、MVCC(多版本并发控制,后续详细介绍)2.4、一致性(Consistency)2.4.原创 2020-08-06 23:54:32 · 1805 阅读 · 2 评论 -
浅谈MySQL数据库的两个主要的存储引擎 —— InnoDB & MyISAM(对比、存储结构、应用场景以及常见面试题目)
MySQL存储引擎MySQL存储引擎1、什么是存储引擎?2、存储引擎的分类2.1、InnoDB存储引擎特征(mysql默认存储引擎)2.2、MyISAM存储引擎特征3、InnoDB & MyISAM的区别(基于上述特征,重点,五颗星)4、常见其他问题(重要)参考MySQL存储引擎1、什么是存储引擎?MySQL的逻辑架构如下:存储引擎在MySQL的逻辑架构中位于第三层。数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存原创 2020-08-04 22:51:10 · 744 阅读 · 0 评论 -
一文让你弄明白什么是MySQL数据库的索引?索引的基本原理(底层数据结构实现的对比)?基于不同数据库引擎的索引分类?索引的使用场景?
MySQL数据库的索引数据库的索引1、背景2、定义和特征3、索引的分类(功能上分类)4、MySQL下索引的基本操作4、索引 的底层实现原理(重点)5、索引的分类(实现上分类)参考数据库的索引1、背景我以为我对Mysql索引很了解,直到我遇到了阿里的面试官我们是怎么聊到索引的呢,是因为我提到我们的业务量比较大,每天大概有几百万的新数据生成,于是有了以下对话:面试官:你们每天这么大的数据量,都是保存在关系型数据库中吗?我:是的,我们线上使用的是MySQL数据库面试官:每天几百万数据,一原创 2020-08-03 23:46:00 · 1771 阅读 · 5 评论 -
Mysql接口API相关函数详细使用说明——mysql_init,mysql_real_connect,mysql_query,mysql_close等相关
MySql接口API相关函数MySql接口API相关函数1、部分API函数总览1.1、部分API函数表1.2、部分MySql结构体说明1.3、API函数使用步骤2、mysql_init()——MYSQL对象初始化2.1、函数原型及参数说明2.2、简单使用3、mysql_real_connect()——数据库引擎建立连接3.1、函数原型及参数说明3.2、简单使用4、mysql_query()——查询数据库某表内容4.1、函数原型及参数说明4.2、简单使用5、mysql_store_result()——向客户端原创 2020-07-27 17:15:22 · 8872 阅读 · 0 评论