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