Fork me on GitHub

随笔分类 -  MySQL

摘要:mysql存储过程 1.变量 局部变量 用户自定义,在begin/end块中有效 语法: declare name type [default var_value]; e.g.: declare name varchar(32); 举例: delimiter $$ CREATE PROCEDURE 阅读全文
posted @ 2021-02-01 14:54 是阿凯啊 阅读(91) 评论(0) 推荐(0)
摘要:MySQL之 索引下推 1.开始 索引条件下推(Index Condition Pushdown),简称ICP。MySQL5.6新添加,用于优化数据的查询。 当你不使用ICP,通过使用非主键索引(普通索引or二级索引)进行查询,存储引擎通过索引检索数据,然后返回给MySQL服务器,服务器再判断是否符 阅读全文
posted @ 2020-04-02 20:27 是阿凯啊 阅读(8016) 评论(0) 推荐(3)
摘要:MySQL主从复制 slave 会从master读取binlog来进行数据同步 原理: 复制基本原理: 复制的最大问题是网络上有延迟 一主一从常见配置: 这里演示主机windows ,从机linux 阅读全文
posted @ 2020-03-15 16:29 是阿凯啊 阅读(142) 评论(0) 推荐(0)
摘要:MySQL锁的机制 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的计算资源(如CPU,RAM,I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素,从这个角 阅读全文
posted @ 2020-03-15 16:27 是阿凯啊 阅读(316) 评论(0) 推荐(0)
摘要:MySQL中show profile 正常情况下:收到爆栈,通过开启慢日志找到SQL,然后执行explain查看SQL,是可以解决大部分问题的。但是仍然找不到问题,可以通过show profile让检测的粒度更细化,比如在传输,网络连接,死锁等现象问题排查。如果再不行就需要配合DBA,进行数据库配置 阅读全文
posted @ 2020-03-15 11:38 是阿凯啊 阅读(623) 评论(0) 推荐(0)
摘要:20.存储过程与函数 函数(FUNCTION)和存储过程(PROCEDURE),最大区别在于函数有返回值,存储过程没有返回值。 批量创建数据案例: 由于进行大批量数据插入,mysql会报一个错误。需要设置参数log_bin_trust_function_creators,它功效用于开启二进制模块,否 阅读全文
posted @ 2020-03-15 11:33 是阿凯啊 阅读(1164) 评论(0) 推荐(2)
摘要:慢日志 MySQL的慢查询日志是MySQL提供一种日志记录,它用来记录MySQL中响应时间超过阈值的语句具体指运行时间超过long_query_time值的SQL,则会被记录到慢日志中 具体指运行时间超过long_query_time值得SQL,则会被记录到慢查询日志中,long_query_tim 阅读全文
posted @ 2020-03-15 11:31 是阿凯啊 阅读(2650) 评论(0) 推荐(0)
摘要:查询优化 exists 永远小表驱动大表,即小的数据集驱动大的数据集。 exists 提示: order by 子句 order by 子句,尽量使用Index方式排序,避免使用FileSort方式排序。 为了方便演示,先创建一个表并插入数据数据 首先我们看几个order by执行计划 MySQL支 阅读全文
posted @ 2020-03-15 11:28 是阿凯啊 阅读(848) 评论(0) 推荐(0)
摘要:索引案例分析 先创建一些假数据: 创建索引: 根据索引进行判断索引是否失效 order by group by 小结 :索引有查找和排序两个功能,一般order by 是进行范围排序,group by基本上分组之前必进行排序,会有临时表产生。 like 案例总结: 对于单键索引,尽量选择针对当前查询 阅读全文
posted @ 2020-03-14 16:38 是阿凯啊 阅读(2815) 评论(0) 推荐(0)
摘要:MySQL常见索引失效 索引失效的原因有很多种, 这里列举一些常见失效案例。 首先创建表和数据 添加索引: 1.单个 多个索引匹配 2.未遵循最左前缀原则 3.不要在索引列上做任何操作 所说的操作指的是计算,函数,自动或手动的类型转换,这样会导致索引失效,从而转换全表扫描 4.范围检索也会让索引失效 阅读全文
posted @ 2020-03-14 16:28 是阿凯啊 阅读(877) 评论(0) 推荐(0)
摘要:索引优化案例分析 首先看这篇博文你对执行计划各个字段有所了解,如果没有请先点击 "explain执行计划" . 单表分析 首先创建一个表并添加一些数据: mysql 创建表和一些假数据: create table if not exists ( int(10) unsigned not null p 阅读全文
posted @ 2020-03-14 15:42 是阿凯啊 阅读(378) 评论(0) 推荐(0)
摘要:explain执行计划: 通过使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表属性瓶颈。 通过explain + SQL语句: 1.id 通过id值可以知道sql语句执行顺序: 情况1:id相同: 情况2:id有不同: 情 阅读全文
posted @ 2020-03-14 12:45 是阿凯啊 阅读(2016) 评论(0) 推荐(0)
摘要:mysql索引简单了解 它能帮助MySQL高效获取数据的数据结构,可以得到索引的本质,索引是数据结构。索引可以提高查询效率,可以类比字典。就是排好序的快速查找数据结构。 索引会影响order by 的排序和where后面条件查 B树索引 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些 阅读全文
posted @ 2020-03-14 11:51 是阿凯啊 阅读(167) 评论(0) 推荐(0)
摘要:join查询的7中方法 手写顺序: MySQL执行顺序 join连接方式: 内连接: 左连接: 右连接: 只有A 只有B 全连接 A,B各自独有: ​ 阅读全文
posted @ 2020-03-14 11:34 是阿凯啊 阅读(5989) 评论(0) 推荐(3)
摘要:简单了解MySQL架构 查看引擎: 查看默认存储引擎: InnoDB与MyISAM引擎区别 阅读全文
posted @ 2020-03-14 11:20 是阿凯啊 阅读(192) 评论(0) 推荐(0)