mysql
不要跟我说对不起
这个作者很懒,什么都没留下…
展开
-
学习篇-mysql-优化12-索引失效与优化
文章目录一、索引失效与优化二、优化终极奥义三、数据库其他优化原则一、索引失效与优化复合索引尽量全匹配最佳左前缀法则(带头索引不能死,中间索引不能断)不要在索引上做任何操作(计算、函数、自动、手动类型转换),不然会导致索引失效而转向全表扫描mysql存储引擎不能继续使用索引中范围条件(between、<、>、in等)右边的列尽量使用覆盖索引【只查询索引的列(索引列和查询列一致)】,减少select *索引字段上使用(!= 或者 <>)判断时,会导致原创 2020-08-21 19:58:24 · 160 阅读 · 0 评论 -
学习篇-mysql-优化11-慢查询优化B树索引
文章目录一、慢查询优化合理设计一、慢查询优化合理设计索引种类B-tree索引mysql中使用最频繁的索引类型Hash索引检索效率远高于B-tree索引,可以一次定位Fulltext【全文索引】只有MyISAM引擎支持目前仅char,varchar,text这三种类型可以为了解决WHERE name like"%xxx%"这类针对文本的模糊查询效率较低的问题。R-tree索引比较少见,主要用于空间数据检索B-tree索引树的高度一致,且所有数原创 2020-08-21 19:57:28 · 168 阅读 · 0 评论 -
学习篇-mysql-优化10-慢查询优化group by详解
文章目录一、慢查询优化group by详解一、慢查询优化group by详解group by分组优化思路group by本质上也同样需要进行排序操作(mysql8优化了,默认不排序了),而且与order by相比,group by主要只是多了排序之后的分组操作。如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在group by的实现过程中,与order by一样也可以利用到索引。演示explain select min(name) from t2 gro原创 2020-08-20 16:58:15 · 455 阅读 · 0 评论 -
学习篇-mysql-优化09-慢查询优化order by详解
文章目录一、慢查询优化order by详解一、慢查询优化order by详解order by 排序order by排序可利用索引进行优化,order by子句中只要是索引的前导列都可以使索引生效,可以直接在索引中排序,不需要在额外的内存或者文件中排序。不能利用索引避免额外排序的情况,例如:排序字段中有多个索引,排序顺序和索引键顺序不一致(非前导列)查询字段需要在排序字段包含里包含排序字段的索引必须满足前导列比如复合索引idx_idc_name_ageorder by后面的字段原创 2020-08-20 10:41:28 · 313 阅读 · 0 评论 -
学习篇-mysql-优化08-慢查询优化其他详解
文章目录一、慢查询优化其他详解一、慢查询优化其他详解只取出需要的列,不要用select *如果取出的列过多,则传输给客户端的数据量必然很大,浪费带宽若在排序的时候输出过多的列,则会浪费内存(using filesort)演示索引排序不走索引排序若在排序的时候输出过多的列,还有可能改变执行计划仅使用最有效的过滤条件并不是where 子句中条件越多越好,有些字段上是没有索引的。若在多种条件下都使用了索引,选择key_len的长度最小的条件,作为w原创 2020-08-18 21:01:48 · 119 阅读 · 2 评论 -
学习篇-mysql-优化07-慢查询优化join详解
文章目录一、慢查询优化详解一、慢查询优化详解永远用小结果集驱动大的结果集(join操作表小于百万级别)驱动表的定义当进行多表连接查询时,【驱动表】的定义为:指定了联接条件时,满足查询条件的记录行数少的表为【驱动表】未指定联接条件时,行数少的表为【驱动表】left join 则左边的为驱动表right join 则右边的为驱动表explain 结果中,第一行出现的表就是驱动表mysql关联查询的概念mysql表关联的算法是Nest Loop Jo原创 2020-08-17 16:43:51 · 279 阅读 · 0 评论 -
学习篇-mysql-优化06-慢查询优化思路
文章目录一、慢查询优化思路一、慢查询优化思路慢查询的优化思路优化更需要优化的比如每小时请求10000次,每次20个IO只要每次优化2个IO,每小时节约20000次IO每小时10次,每次20000个IO需要每次优化2000个IO,需要优化每次2000个IO才能达到跟上面一样的效果定位优化对象的性能瓶颈明确的优化目标从explain执行计划入手永远用小结果集驱动大的结果集尽可能在索引中完成排序只取出自己需要的列,不要用select *仅使用最有效的过滤条原创 2020-08-17 16:34:04 · 130 阅读 · 0 评论 -
学习篇-mysql-优化05-通过explain分析SQL执行计划
文章目录一、通过explain分析SQL执行计划一、通过explain分析SQL执行计划SQL的执行计划反映出了SQL的执行效率,在执行的SQL前面加上explain即可。id列数字越大越先执行,如果数字一样大,那么就从上往下依次执行,id列为null就表示这是一个结果集,不需要使用它来进行查询。select_type列simple:表示不需要union操作或者不包含子查询的简单select查询,有连接查询时,外层的查询为simple,且只有一个。explain sele原创 2020-08-14 10:27:41 · 971 阅读 · 0 评论 -
学习篇-mysql-优化04-pt-query-digest用法
文章目录一、pt-query-digest工具的简单使用一、pt-query-digest工具的简单使用简介pt-query-digest是用于分析mysql慢查询的一个第三方工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的Mysql协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析原创 2020-08-12 19:20:18 · 406 阅读 · 0 评论 -
学习篇-mysql-优化03-mysqldumpslow用法
文章目录一、mysqldumpslow简单用法一、mysqldumpslow简单用法简介如果开启了慢查询日志,就会生成大量的数据,然后我们就可以通过对日志的分析,生成分析报表,通过报表进行优化。mysqldumpslow是mysql安装时自带的一款简单的慢查询工具,直接在mysql服务器上直接运行,不需要登陆数据库运行。用法: 查看详细用法:mysqldumpslow --help展示详细数据:-v输出debug信息:-d指定输出排序规则,有如下几种-s at/t原创 2020-08-11 13:05:18 · 631 阅读 · 0 评论 -
学习篇-mysql-优化02-jmeter简单用法
文章目录一、jmeter简单用法一、jmeter简单用法下载安装:下载https://jmeter.apache.org/download_jmeter.cgi解压、配置环境变量启动命令:jmeter简单使用添加线程组 添加JDBC配置 添加取样器 添加监听器查看结果树 查看聚合报告 用表格查看结果 问题解决Jmeter Cannot load JDBC d原创 2020-08-10 20:24:07 · 137 阅读 · 0 评论 -
学习篇-mysql-优化01-简单排查
文章目录一、SQL及索引优化一、SQL及索引优化问题SQL筛查步骤:检查慢查日志是否打开:// 查询慢查日志是否打开show variables like 'slow_query_log';// 开启慢日志set global slow_query_log=on;// 开启所有执行语句,记录到日志文件,不可轻易打开set global log_queries_not_using_indexes=on;检查慢日志路径:// 查询慢查日志存储路径show variables l原创 2020-08-10 19:44:47 · 111 阅读 · 0 评论 -
学习篇-mysql-优化-必要性
文章目录一、mysql-优化-必要性二、mysql-优化-数据库优化层面一、mysql-优化-必要性为什么要进行数据库优化数据库连接timeout产生页面5xx错误慢查询造成页面无法加载阻塞造成数据无法提交增加数据库的稳定性很多数据库问题都是由于低效的查询引起的【比如全表扫描】随着时间的推移,系统变得极其臃肿,数据库中的数据量越来越大,数据检索越来越困难,对整个系统带来的资源消耗也就越来越大,系统越发不稳定优化用户体验流畅的页面访问速度良好的网站功能体验二、my原创 2020-08-10 19:24:20 · 351 阅读 · 0 评论 -
CentOS 7-mysql的基本设置
文章目录一、mysql的基本设置1. 字符集设置2. 设置mysql自动启动3. 密码设置4. 查看目前mysql的用户,是否存在匿名用户。5. 插入mysql新用户。6. 解决root账号远程链接7. 打开genelog,记录所有sql操作语句。8. 让简单的密码可以设置成功9. 赋给对应用户的权限一、mysql的基本设置如果需要安装姿势请查看CentOS 7-mysql的安装姿势这篇博客。...原创 2020-03-22 14:56:54 · 1648 阅读 · 0 评论