
mysql
拔苦与乐喵
这个作者很懒,什么都没留下…
展开
-
mysql是怎样运行的-学习总结(一)
原创 2020-04-09 14:58:20 · 1370 阅读 · 0 评论 -
mysql高级----查询截取分析(二):批量插入数据脚本、用show profile分析sql、全局查询日志
一、批量插入数据脚本往表里插入1000w数据1、建表2、设置参数log_bin_trust_function_creators3、创建函数,保证每条数据都不同(#3.1 随机产生字符串定义函数rand_string(n) 注:delimiter $$表示将sql默认的结束符号(;)改成$$ #3.2 随机产生部门编号定义函数 rand_num()4、创建存储过程#4.1 创建emp表的存储过程#4...原创 2018-03-05 19:15:26 · 383 阅读 · 0 评论 -
mysql高级----查询截取分析(一):查询优化、慢查询日志
四招:1.观察,至少跑一天,看看生产的慢SQL情况2.开启慢查询日志,设置阙值,比如超过5秒钟的就是慢SQL3.explain+慢查询分析4.show profile5.数据库服务器参数优化---运维的事一、查询优化1、小表驱动大表(小的数据集驱动大的数据集)注:若大表驱动小表,则会额外增加跟数据库连接的资源消耗2、exists和in2.1exists#语法: select ...from tab...原创 2018-03-05 19:13:47 · 525 阅读 · 0 评论 -
mysql高级----锁机制(表锁、行锁;读写锁;乐观锁,悲观锁)
一、锁介绍1、定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言尤其重要,也更加复杂。2、举个例子(生活购物)3、...原创 2018-03-05 19:08:40 · 5649 阅读 · 3 评论 -
mysql高级----索引优化(二):索引失效案例(应该避免)
建表SQL索引情况一、全值匹配我最爱二、最佳左前缀法则1、where条件列的,从索引的最左前列开始,且不跳过索引中的列2、违背原则:未以最左前列开始,索引失效3、违背原则:跳过索引中间列(age),只引用了部分索引结论:where条件要满足最佳左前缀法则。口诀:带头大哥不能死,中间兄弟不能断三、不在索引列上做任何操作(计算、函数、自动or手动类型转换),会导致索引失效而转向全表扫描即使满足最左前缀...原创 2018-03-05 19:05:15 · 2593 阅读 · 2 评论 -
mysql高级----索引优化(一):索引分析
一、单表1、表结构2、案例分析显示表的索引信息:show index from 表名重新分析:仍然用了文件排序,因为comments范围查询,会导致索引失效将where条件改成comments=1后,分析结果如下:相当于给定已知组合索引中的两个列,求未知的另外一个列时,可以用索引求得。显示表的索引信息:show index from 表名分析结果:此时排序就不会用到额外的 [文件排序]二、两张表1...原创 2018-03-05 18:57:32 · 461 阅读 · 0 评论 -
mysql高级--索引简介
一、索引简介1、什么是索引?(排好序的、快速查找的) 索引的本质是一种数据结构,帮助mysql高效获取数据的数据结构。可以理解为:排好序的、快速查找的数据结构。2、为什么要创建索引?作用:提高查找效率,类似于新华字典 功能:排序+快速查询 (注:由于索引的功能,它会影响* where 查询条件的条件约束* order by 后面的排序)举例:若要在排好序的数据中找...原创 2018-03-05 18:26:48 · 241 阅读 · 0 评论 -
mysql高级---explain详解
一、Mysql Query Optimizer二、Mysql 瓶颈分析CPU:CPU在饱和的时候,一般发生在数据装入内存或从磁盘上读取数据的时候(从磁盘到内存)IO:磁盘I/O瓶颈发生在装入数据远大于内存容量的时候(装入数据>内存容量)服务器硬件的性能瓶颈:top,free,iostat和vmstat来查看系统的性能状态三、Explain(查询执行计划)假设mysql未出现瓶颈,且优化分析也...原创 2018-03-05 18:01:31 · 776 阅读 · 0 评论 -
mysql高级--mysql逻辑架构
概览:mysql是分层、可拔插式的存储引擎架构,将查询处理和其它的系统任务以及数据的存储提取(写/读)相分离。1、连接层作用:连接处理、授权认证及相关的安全方案。2、服务层核心功能,如SQL接口,SQL分析及优化,内置函数及查询缓存3、存储引擎常用的两类存储引擎有:MyISAM(读操作)和InnoDB(写操作)阿里巴巴、淘宝用哪个存储引擎呢??? 答案:Percona server4、存储层(文...原创 2018-03-05 14:57:44 · 335 阅读 · 0 评论 -
mysql的7种join理论
一、复习:1、创建索引的格式: 表名》user 列名》id,name,sex,email单列索引:create index idx_user_name on user(name);组合索引:create index idx_user_nameEmail on user(name,email);2、select查询顺序 from>on>join/where>group by&g...原创 2018-03-05 14:55:39 · 1912 阅读 · 0 评论