
MYSQL高级
文章平均质量分 74
KingdomCoder
技术发烧友
展开
-
【MySQL】MVCC机制
MVCC机制理解原创 2022-01-30 17:00:40 · 2189 阅读 · 0 评论 -
MySQL之IN的优化
场景描述: MySQL的IN的问题:由于in里面的内容过于庞大 (5000+),导致查询效率低下(4秒以上)。 SELECT * FROM xxx WHERE `id` IN(xxx) 计划解决方案: 1.测试得到IN里面的最佳数量 2.循环分多次查询 3.多线程共同执行 实际测试记录: 1.查询最佳数量 1次 4265ms、4177ms、4112ms 平均4.18秒 ...原创 2020-01-17 12:15:15 · 11482 阅读 · 3 评论 -
MYSQL主从复制从搭建到分析
1、MYSQL复制过程分为三步 (1)master将改变记录到二进制日志(binary log),这些记录过程叫做为二进制日志事件,binary log events; (2)slave将master的binary log events拷贝到它的中继日志(relay log)。 (3)slave重做中继日志中的事件,将改变应用到自己的数据库中。MYSQL复制是异步的且串行化的。 2、复制的基本原则...原创 2020-01-17 12:13:23 · 197 阅读 · 0 评论 -
Show profile
1、mysql用来分析当前会话中执行的资源消耗情况,可用于SQL的调优测量。 2、默认情况下是关闭的,并保存最近15次的运行结果 3、分析步骤 (1)查看mysql版本是否支持 show variables like 'profiling', 若开启执行 set profiling=on (2)查看结果:show profiles; (3) 诊断sql,show profile cpu,bloc...原创 2020-01-17 12:09:40 · 223 阅读 · 0 评论 -
MySql之慢查询日志
1、慢查询日志 (1)默认mysql数据库没有开启慢查询日志,需要手动设置这个参数 (2)如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志或多或少的会带来一定的性能影响。慢查询日志支持将日志记录写入文件 2、查看是否开启:SHOW VARIABLES LIKE '%slow_query_log%' (1)默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以...原创 2020-01-17 12:07:08 · 263 阅读 · 0 评论 -
mysql调优之索引——ORDER BY(GROUP BY)
order by的排序优化 1、ORDER BY子句尽量使用index方式排序,避免使用filesort方式排序。 2、ORDER BY 满足两种方式会使用index方式排序: order by使用索引最左前列 使用where 子句与order by 子句条件列组合满足索引最左前列 3、如果不在索引列上,filesort有两种算法,mysql就要启动双路和单路排序. 双路排序 (1)mysq...原创 2020-01-17 12:05:17 · 962 阅读 · 0 评论 -
MYSQL调优之索引——索引失效情况
1、 最好全值匹配——索引怎么建我怎么用。 分析 三次查询均使用到索引。 2、 最佳左前缀法则——如果索引了多列,要遵守最左前缀法则。指的是查询要从索引的最左前列开始并且不跳过索引中的列。 分析: 前提条件: 表中已添加复合索引name,age,pos 第一次执行缺少name,查询条件复合索引最左侧name缺少,违反了最佳左前缀法则,导致索引失效,变为ALL,全表扫描。 同理,第二次查询条件...原创 2020-01-17 12:00:37 · 252 阅读 · 0 评论 -
MYSQL调优之索引——索引分析
一、单表索引 发现问题:该查询type为ALL,存在全表扫描问题,未使用到索引,并且存在Using filesort,文件内排序问题,需要优化。 开始优化: 1、创建复合索引 ALERT TABLE ' article' ADD INDEX index_article_ccv ('category_id','comments','views') 或者 create index index_ar...原创 2020-01-17 11:58:16 · 376 阅读 · 0 评论 -
MYSQL之explain详解
一、基本用法: EXPLAIN + sql; #如:EXPLAIN SELECT a.* FROM z_user 二、能做什么 确定表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询。 三、用法解析 1、id:决定表的加载和读取顺序。 select查询的序列号,包含一组数字,表示查询中执行select子句或者操作表的顺序。...原创 2020-01-17 11:53:12 · 230 阅读 · 1 评论 -
索引学习介绍
一、索引是什么? 索引是mysql高效获取数据的一种数据结构,可以提高查询效率。 二、为什么要建索引? 排好序的快速查找数据结构。查找快,排好序。 三、索引结构 btree结构。 四、索引的优劣势 1.优势 索引提高检索效率 ,降低io成本。 通过索引列对数据进行排序,降低排序的成本,降低了cup的消耗。 2、劣势 索引也是一张表,该表要主键和索引字段,并指向实体表的数据,所以索引是占空间...原创 2020-01-17 11:45:39 · 294 阅读 · 0 评论 -
MYSQL 常用搜索引擎比较
MyISAM——读 InnoDB——事物 最常用的存储引擎: Myisam存储引擎:每个Myisam在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别为.frm(存 储表定义)、.MYD(存储数据)、.MYI(存储索引)。数据文件和索引文件可以放置在不同目录,平均分布io,获得更快的速度。对存储大小没有限 制,MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的。 Inn...原创 2020-01-17 11:38:39 · 762 阅读 · 0 评论 -
MySql的配置详解
配置文件详解 [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/mysql datadir = /data/mysql pid-file = /data/mysql/mysql.pid user = mysql bind-a...原创 2020-01-17 11:19:38 · 429 阅读 · 0 评论