![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 65
羽苡”
这个作者很懒,什么都没留下…
展开
-
【MySQL】高级之分库分表
MySQL1 为什么要分库分表2 什么是分库分表3 分库分表的几种方式3.1 垂直方式3.1.1 垂直分库3.1.2 垂直分表3.1.3 特点3.1.4 优点3.1.5 缺点3.2 水平方式3.2.1 水平分库3.2.2 水平分表3.3 特点分库分表带来的问题读写分离原理剖析与实践分库分表实战与源码分析1 为什么要分库分表当MySQL存储的数据量变得很大时,单体的 MySQL 无法承载高并发;这时可以对数据库做一系列的优化,其中就可以用分库分表来解决这一问题;下面介绍一些优化措施;1、换数据库 NoS原创 2022-04-12 21:55:01 · 801 阅读 · 0 评论 -
【MySQL】高级之主从复制
slave 会从 master 读取binlog来进行数据同步主从复制过程master 将改变记录到二进制日志(binary log)。这些日志记录过程叫做二进制日志事件(binary log events);slave将master的日志事件拷贝到它的中继日志(relay log);slave 重做中继日志中的事件,将改变应用到自己数据库中。MySQL复制是异步的且串行化的。...原创 2022-04-04 19:27:25 · 1064 阅读 · 0 评论 -
【MySQL】高级部分之数据库锁
目录锁的分类锁的分类对数据库操作类型划分读锁(共享锁)针对同一份数据,多个读操作可以同时进行而不会互相影响;写锁(排它锁)当前对象操作没有完成前,它会阻断其他写锁和读锁;对数据库操作粒度划分表锁特点:MyISAM存储引擎使用;开销小;加锁块;无死锁锁粒度大;发送锁冲突概率高;并发度低;行锁...原创 2022-04-04 09:20:23 · 228 阅读 · 0 评论 -
【MySQL】高级SQL调优之profile的使用
profile 是MySQL用来分析当前会话中执行语句的资源消耗情况。默认情况下,参数属于关闭状态,并保存15次的运行结果。这里写目录标题使用 profile 分析语句步骤日常开发中需要注意的危险结果使用 profile 分析语句步骤查看当前MySQL版本是否支持;# 默认关闭 OFFshow variables like 'profile'该功能默认关闭,使用前需要开启set profiling=on运行待分析sql查看结果show profiles;诊断 SQ.原创 2022-04-01 21:57:35 · 958 阅读 · 0 评论 -
【MySQL】高级部分之慢查询日志
MySQL慢查询日志是用来记录在MySQL中响应时间超过阈值(long_query_time)的SQL;默认情况下,MySQL数据库没有开启慢查询日志,需要手动设置这个参数,如果不是调优需要,一般不开启这个参数,因为开启慢查询日志会多少带来一定的性能影响。这里写目录标题常用命令常用命令# 查询慢查询日志是否开启和日志存储的位置show variables like '%slow_query_log%'# 开启慢查询日志set global slow_query_log=1...原创 2022-04-01 21:22:08 · 831 阅读 · 0 评论 -
【MySQL】order by 排序优化
目录常见排序情况示例排序方式优化策略总结常见排序情况示例create index idx_ageName on tblA(age, Birth);# using index 使用到了索引select * from tblA where age > 20 order by age;# using index 使用到了索引select * from tblA where age > 20 order by age,birth;# using firesort 出现了文件内排序se.原创 2022-03-31 23:14:58 · 844 阅读 · 0 评论 -
【MySQL】索引详解
索引就是帮助MySQL高效获取数据的数据结构。索引一级目录二级目录三级目录一级目录二级目录三级目录原创 2022-03-28 22:50:06 · 1023 阅读 · 0 评论 -
【MySQL】高级部分引入
目录SQL性能慢的原因七大 sql join 类型MyISAM 与 InnoDB 的区别SQL性能慢的原因查询语句写的烂索引失效关联查询太多 join服务器调优及各个参数设置(缓冲、线程数等)七大 sql join 类型第一种 A ∩ B + A.*SELECT A.*, B.* FROM ALEFT JOIN B ON A.KEY = B.KEY第二种 A ∩ B + B.*SELECT A.*, B.* FROM ARIGHT JOIN原创 2022-03-23 14:36:15 · 1115 阅读 · 0 评论 -
【MySQL】流程控制结构
流程控制结构顺序结构分支结构IF函数case结构IF 结构循环结构WHILELOOPREPEAT顺序结构程序从上往下顺序执行分支结构程序从两条或多条路径中选择一条去执行IF函数功能:实现简单的双分支语法IF(表达式1, 表达式2, 表达式3)执行顺序:如果表达式1成立,则IF函数返回表达式2的值,否则返回表达式3的值应用:可以应用在任何地方case结构情况一:类似于java中的switch语句,一帮用于实现等值判断语法:CASE 变量|表达式|字段 WHEN 要判断的值 T.原创 2022-03-21 23:30:08 · 995 阅读 · 0 评论 -
【MySQL】函数基础
函数:一组预先编译好的SQL语句集合,理解成批处理语句这里写目录标题函数的优势函数与存储过程的区别创建函数语法调用语法查看函数语法删除函数语法函数的优势提高代码的重用性简化操作减少编译次数并且减少了和数据库的连接次数,提高了效率函数与存储过程的区别存储过程:可以有0个返回,也可以有多个返回,适合做批量插入,批量更新;函数:有且仅有1个返回,适合做处理数据后返回一个结果创建函数语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN 函数体EN.原创 2022-03-20 17:24:19 · 612 阅读 · 0 评论 -
【MySQL】存储过程
存储过程:一组预先编译好的SQL语句的集合;存储过程存储过程好处创建存储过程语法调用存储过程删除存储过程查看存储过程存储过程好处提高代码的重用性简化操作提高效率(减少编译次数和与数据库连接次数)创建存储过程语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体END注意:1、参数列表包含三部分参数模式 参数名 参数类型举例:IN stuname varchar(20)参数模式:IN:入参OUT:出参INOUT::出入参2、存储过程.原创 2022-03-20 09:20:02 · 413 阅读 · 0 评论 -
【MySQL】变量使用基础
变量系统变量全局变量会话变量自定义变量用户变量局部变量用户变量与局部变量区别系统变量系统变量由系统提供,不是用户定义,属于服务器层面1、查看所有系统变量语法:show global | session variables;2、查看满足条件的部分系统变量:show global | session variables like '%char%';3、查看某个系统变量的值:select @@global | @@session .系统变量名4、为某个系统变量复制# 方式一set g.原创 2022-03-19 17:02:10 · 435 阅读 · 0 评论 -
【MySQL】快速理解视图用法
视图:一种虚拟存在的表,如果多个SQL查询中都用到了同样的查询结果,并且该查询结果使用的SQL比较复杂就可以将该查询结果封装成一个视图;目录视图创建二级目录三级目录视图创建create view view_nameasselect ...二级目录三级目录...原创 2022-03-18 09:36:39 · 270 阅读 · 0 评论 -
【MySQL】数据库事务理解
数据库事务:一个或一组sql组成一个数据库执行单元,这个单元的执行要么全部成功要么全部失败;常用的存储引擎innodb、myisam以及memory中只有innodb支持事务;目录ACID属性创建事务隐式事务显示事务事务隔离级别savepointACID属性原子性:事务中的执行单元是一个不可拆分的单位,即它的操作要么都执行,要么都不成功;一致性:事务执行前后,数据最终是一致的;隔离性:一个事务的执行不会被另一个事务干扰;持久性:事务一旦提交就是对数据库永久的改变,不可逆;创建事务隐式事.原创 2022-03-17 09:44:29 · 665 阅读 · 0 评论 -
【MySQL】六大约束详解
约束作用:约束即限制,用于限制表中的数,为了保证表中的数据的准确性和可靠性;添加约束的时机:1、创建表;2、修改表约束分类:1、列级约束:六大约束语法上都支持,但外键约束没有效果;2、表级约束:除非空和默认值约束,其他都支持目录主键约束外键约束唯一约束检查约束非空约束默认值约束主键约束保证字段值的唯一性和非空,比如学号、员工编号;一个表中只能有一个主键外键约束限制两个表的关系,用于保证该字段值必须来自主表关联列的值;一般在从表中添加外键约束,引用主表中某列的值;从表的外键类型和主表的关.原创 2022-03-16 22:10:56 · 1271 阅读 · 0 评论 -
【MySQL】数据类型
目录数值型整数小数定点数浮点数字符型较短的文本较长的文本日期型数值型整数特点:1、如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加 unsigned 关键字;2、如果插入的数据超出范围,可以成功插入,但是插入成功的为领界值;3、如果不设置长度,会有默认长度;小数特点:1、M 和 DM: 整数部位 + 小数部位D: 小数部位如果插入的范围超过,则插入临界值M和D都可以省略2、定点性的精确度较高,如果要求插入数值的精确度度较高如货币运行等则考虑使用3、使用.原创 2022-03-15 12:18:35 · 758 阅读 · 0 评论 -
快速理解MySQL的explain用法
目录idselect_typeSIMPLEPRIMARYSUBQUERYDERIVEDUNIONUNION RESULTtabletypeconsteq_refrefrangeindexallpossible_keys 和 keykey_lenrefrowsexplain用于解析SQL语句的性能,分析出SQL中表的读取顺序、数据读取操作的操作类型、有哪些索引可以使用、哪些索引被实际使用以及获取结果需要查询多少条记录explain select …id里面的需要表示执行顺序,数值越大,执行优先级越.原创 2022-03-11 15:13:41 · 925 阅读 · 0 评论 -
MySQL子查询
MySQL子查询分类子查询的使用范围一个查询嵌套在另一个查询语句内部的查询分类MySQL 子查询可以按照查询结果的行列数不同分成:1 标量子查询(单行单列)2 行子查询(单行多列)3 列子查询(单列多行)4 表子查询(多行多列)子查询的使用范围1 SELECT 之后只能使用标量子查询2 FROM 之后都支持3 WHERE 和 HAVING 之后可以使用 ‘标量子查询’、‘行子查询’ 和 ‘列子查询’4 EXISTS 之后都支持...原创 2022-03-11 10:32:17 · 863 阅读 · 0 评论