![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 92
焦崇林-亚洲最靓的仔
告诉自己别太自信,其实你也就那样,你需要一颗谦卑的心。
-- 来自 亚太地区最靓的仔
展开
-
9. mysql 锁详解
前言了解锁前需要明白数据库事务,附上一篇内容比好的文章地址:https://www.cnblogs.com/jay-huaxiao/p/12639435.htmlInnoDB行锁是通过给索引加锁来实现的,如果没有索引,InnoDB会通过隐藏的聚簇索引来对记录进行加锁(全表扫描,也就是表锁)。但是,为了效率考量,MySQL做了优化,对于不满足条件的记录,会放锁,最终持有的,是满足条件的记录上的锁。但是不满足条件的记录上的加锁/放锁动作是不会省略的。所以在没有索引时,不满足条件的数据行会有加锁又放锁的耗时原创 2020-06-13 10:00:36 · 179 阅读 · 0 评论 -
8. 慢SQL分析篇
慢查询日志认识慢查询mysql 的慢查询是 mysql 提供的一种日志记录,他用来记录 mysql 在执行时长超过设置的阀值的语句。而这个超时时长是可配置的,默认的超时时长是 10s,然后写到日志中。再结合 explain 进行分析 sql。默认情况下,mysql 数据库没有开启慢查询日志,需要手动来设置这个参数。如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。 临时开启show variables like '%slow_query_log%';使原创 2020-06-13 09:35:15 · 317 阅读 · 0 评论 -
7. 索引优化注意事项2 - 详解
本篇通过复合索引为主,在排序和分组时候分析会不会走索引与为什么索引就失效了来展开。测试sqlCREATE TABLE test03( id INT PRIMARY KEY AUTO_INCREMENT, c1 CHAR(10), c2 CHAR(10), c3 CHAR(10), c4 CHAR(10), c5 CHAR(10)); INSERT INTO test03 ( c1, c2, c3, c4, c5 ) VALUES ( 'a1', 'a2', 'a3', 'a4', '原创 2020-06-13 09:20:33 · 102 阅读 · 0 评论 -
6. 索引优化注意事项1 - 详解
示例表CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名', age INT NOT NULL DEFAULT 0 COMMENT '年龄', pos VARCHAR(20) NOT NULL DEFAULT '' COMMENT '职位', add_time TIMESTAMP NOT NULL DEFAULT CURRENT_T原创 2020-06-13 09:07:35 · 164 阅读 · 0 评论 -
5. 执行计划 - 表连接优化示例
CREATE TABLE articie( id INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, author_id INT(10) NOT NULL, category_id INT(10) NOT NULL, views INT(10) NOT NULL, comments INT(10) NOT NULL, title VARCHAR(255) NOT NULL, content TEXT NOT NULL);INSERT INTO art原创 2020-06-13 08:50:22 · 159 阅读 · 0 评论 -
4. 执行计划 explain 详解
说明使用 Explain 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的,分析你的查询语句或者表结构的性能瓶颈查看执行计划-- 在 sql 前增加 EXPLAIN 关键字就可以查看执行计划EXPLAIN SELECT * FROM test执行计划存在以下列:id:执行优先级,数字越大,越先执行select_type:查询类型,比如普通、联合、子查询 table:这行统计信息是哪张张表的type:访问类型的排列possible_key原创 2020-06-12 22:55:58 · 432 阅读 · 0 评论 -
3. 索引简介 与 优化分析
索引简介存储数据之外,数据库还维护了一个满足特定查找的数据结构,这些数据结构以某种方式指向数据,以某种算法去查询这个数据结构,目的就是提高查询效率。一般我们平常所说的索引,如果可以特别指明,都是指B树结构组织的索引。而索引又分类为:次要索引、覆盖索引、复合索引、前缀索引、唯一索引。索引优势:可以搞数据的检索效率,降低数据库的 IO 成本索引劣势:实际上索引也是维护了一张表,该表保存了主键与索引字段,并指向实体表的记录。所以索引列也是要占用空间的。在 insert、update、delet原创 2020-06-12 22:33:57 · 202 阅读 · 0 评论 -
2. SQL加载顺序 与 七种联表
这里写目录标题SQL 性能加载顺序七种联表顺序SQL 性能加载顺序mysql 解析 sql 顺序如下:from <left table>on <on_condition><join_type> join <join_table>where <where_condition>group by <group_by_list><sum()avg()等聚合函数>having <having_condition原创 2020-06-12 22:26:45 · 163 阅读 · 0 评论