MySQL
文章平均质量分 90
菊头蝙蝠
这个作者很懒,什么都没留下…
展开
-
MySQL缓存策略(一致性问题、数据同步以及缓存故障)
从mysql 执行出发:第一种:即时执行 ,第二种:预编译执行(prepare)(可以直接跳过句法分析、优化器等步骤,执行速度更快)引入缓存cache为了解决mysql的读写性能(磁盘io较慢)问题,增加了缓存数据库,主要用于缓存用户的热点数据(内存访问的速度相比磁盘快很多)。mysql是主要数据库,数据主要依据cache缓存用户的热点数据mysql中的缓冲池和这里的缓存的区别?mysql中也有缓冲池,但是它存储的mysql的索引等数据,是mysql内部的热点数据。这里的缓存cache是为.原创 2022-05-02 14:38:35 · 1969 阅读 · 0 评论 -
MySQL事务原理分析(ACID特性、隔离级别、锁、MVCC、并发读异常、并发死锁以及如何避免死锁)
MySQL事务原理分析事务组成特征事务空间语句ACID特性原子性(A)隔离性(I)持久性一致性隔离级别READ UNCOMMITTEDREPEATABLE READMVCC命令锁锁类型共享锁(S)排他锁(X)意向共享锁(IS)意向排他锁(IX)锁的兼容性锁算法Record LockGap LockNext-Key LockInsert Intention LockAUTO-INC Lock(AI锁)锁兼容事务组成mysql的innodb中,单条SQL语句是隐含事务的。多条语句需要手动开启事务特征原创 2022-05-01 10:49:26 · 1365 阅读 · 0 评论 -
MySQL索引原理(索引、约束、索引实现、索引失效、索引原则)以及SQL优化
索引主键索引和唯一索引的差别:唯一索引可以有一个NULL值,只要整体不重复就行了。而主键索引,是非空唯一索引。所有的索引都会创建一个B+树,用key值,来保证有序。全文索引:通过关键字,可以将整篇文章给搜索出来约束外键在项目中不推荐使用,但是要知道有这个东西。外键是为了保证数据的完整性当这张表中数据删除的时候,外键关联的另一张也要删除这一行,这个事务由我们自己去定义实现DELETE代表删除,CASCADE表示和父表做同样的行为,当前父表中删除这行,子表也会删除。外键是具备事务性的外.原创 2022-04-24 15:54:53 · 590 阅读 · 0 评论 -
池式组件-Mysql连接池的原理与实现
mysql连接池一、为什么要使用连接池?二、连接池与线程池的关系三、连接池的涉及要点四、连接池代码实现1、连接池构造函数2、连接池初始化3、请求获取连接4、归还连接5、析构连接池五、为什么要有连接池名六、重连机制七、对于连接池来说,选择多少线程/连接合适呢?一、为什么要使用连接池?在一般情况下,客户端向Mysql服务器的连接,要经过以下几个步骤1.TCP三次握手连接2.Mysql认证的三次握手3.真正的SQL执行4.Mysql的关闭5.TCP的四次握手关闭这种方式,网络IO较多,带宽利用率原创 2022-04-16 19:15:01 · 1473 阅读 · 0 评论 -
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储一、读入图片二、图片数据写入磁盘三、表中增加图片数据一列四、将图片数据存入Mysql服务器五、将图像数据从Mysql服务器中取出六、完整代码1.准备好一张图片文件,将图片read,存放到buffer2.将图片数据(buffer)写入mysql3.从mysql中读取图片数据(buffer)4.将图片数据(buffer)写入磁盘一、读入图片//读取图片//filename:path+file name//buffer:stor原创 2022-03-09 16:16:57 · 2304 阅读 · 1 评论 -
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除一、数据库建模与建库建表二、安装libmysqlclient-dev三、代码中实现SQL插入数据四、代码中实现SQL查询操作五、代码中实现SQL数据删除(以及存储过程调用)六、补充1.`mysql.h`在vscode中导入并正确编译一、数据库建模与建库建表用户admin登入mysql创建一个数据库create database KING_DB;#创建数据库show databases;use KING原创 2022-03-08 22:58:01 · 2073 阅读 · 1 评论 -
Linux C/C++ 开发(学习笔记六):MySQL安装与远程连接
Linux C/C++ 开发(学习笔记六):MySQL安装与远程连接一、MySql安装二、Windows安装MysqL workbench三、使用Mysql workbench连接数据库服务器四、分配用户权限一、MySql安装sudo apt-get install mysql-server-5.7然后输入两次密码后,安装成功以root身份登入mysqlmysql -u root -p输入密码即可二、Windows安装MysqL workbenchMySQL8.0安装(win10)原创 2022-03-08 20:02:35 · 878 阅读 · 0 评论 -
第五章:SQL高级处理---SQL学习笔记
第五章:SQL高级处理---SQL学习笔记第五章:SQL高级处理5.1 窗口函数5.1.1 窗口函数概念及基本的使用方法5.2 窗口函数种类5.2.1 专用窗口函数5.2.2 聚合函数在窗口函数上的使用5.3 窗口函数的的应用 - 计算移动平均5.3.1 窗口函数适用范围和注意事项5.4 GROUPING运算符5.4.1 ROLLUP - 计算合计及小计练习题**5.1****5.2****5.3**参考链接:datawhalechina/wonderful-sql相关命令速记:窗口函数、partit原创 2021-09-03 11:51:34 · 205 阅读 · 0 评论 -
第四章:集合运算---SQL学习笔记
第四章:集合运算---SQL学习笔记准备工作第四章:集合运算4.1 表的加减法4.1.1 什么是集合运算4.1.2 表的加法--UNION4.1.2.1 UNION4.1.2.2 UNION 与 OR 谓词4.1.2.3 包含重复行的集合运算 UNION ALL4.1.2.4 隐式数据类型转换4.1.3 MySQL 8.0 不支持交运算INTERSECT4.1.4 差集,补集与表的减法4.1.4.1 MySQL 8.0 还不支持 EXCEPT 运算4.1.4.2 EXCEPT 与 NOT 谓词4.1.4.3原创 2021-09-02 20:50:39 · 311 阅读 · 0 评论 -
第三章:复杂一点的查询--SQL学习笔记
第三章:复杂一点的查询--SQL学习笔记第三章 复杂一点的查询3.1 视图3.1.1 什么是视图3.1.2 视图与表有什么区别3.1.3 为什么会存在视图3.1.4 如何创建视图3.1.5 如何修改视图结构3.1.6 如何更新视图内容3.1.7 如何删除视图3.2 子查询3.2.1 什么是子查询3.2.2 子查询和视图的关系**3.2.3 嵌套子查询**3.2.4 标量子查询3.2.5 标量子查询有什么用3.2.6 关联子查询小结练习题-第一部分3.13.23.33.43.3 各种各样的函数3.3.1 算数原创 2021-08-23 00:09:45 · 334 阅读 · 0 评论 -
第二章:基础查询与排序---SQL学习笔记
第二章:基础查询与排序---SQL学习笔记准备工作第二章:基础查询与排序2.1 SELECT语句基础2.1.1 从表中选取数据2.1.2 从表中选取符合条件的数据2.1.3 相关法则2.2 算术运算符和比较运算符2.2.1 算术运算符2.2.2 比较运算符2.2.3 常用法则2.3 逻辑运算符2.3.1 NOT运算符2.3.2 AND运算符和OR运算符2.3.3 真值表练习题-第一部分2.12.22.32.42.4 对表进行聚合查询2.4.1 聚合函数2.4.2 常用法则2.5 对表进行分组2.5.1 GR原创 2021-08-20 00:05:49 · 259 阅读 · 0 评论 -
第一章:初识数据库---SQL学习笔记
MySQL常用命令查看数据库进入数据库查看表查看在哪个数据库中创建数据库创建表查看表查看表中的数据表中插入数据修改表中的数据删除表中的数据首先还是通过mysql -u root -p并输入密码进入mysql查看数据库mysql> show databases;进入数据库选择上面一个数据库进入,比如worldmysql> use world出现该字样代表进入了数据库查看表通过进入的数据库去查表mysql> show tables;还可以通过以下语句,直原创 2021-08-17 00:41:40 · 1247 阅读 · 5 评论 -
MySQL8.0安装(win10) ---SQL学习笔记
遇到的坑:starting the server出现错误点击log查看错误的问题发现错误MySQL error 1042: Unable to connect to any of the specified MySQL hosts可以采用https://blog.csdn.net/weixin_44940258/article/details/107461986的解决办法右击此电脑–>管理–>本地用户和组–>组–>双击Administrators–>添加–>原创 2021-08-15 22:49:43 · 361 阅读 · 0 评论