【MySQL】数据库专栏
记录数据库的坑,分享mysql数据库使用经验
easyoh
努力,加油,向前
展开
-
innodb 存储引擎架构设计
以更新数据为例:update user set username = ‘zhangsan’ where id= ‘1’innodb cache: inonbb数据缓存。首先会判断上面这条语句的数据是否在在缓存中,如果不在,则从磁盘数据里面加载过来,然后加独占锁,避免其他线程在此期间更新。将旧的数据刷入undo log 日志文件,方便出错后回滚数据。更新新的数据到innodb cache中。这里讲username = ‘zhangsan’ 这个新的数据更新到cache中。此时,磁盘数据还是旧的。.原创 2020-05-12 01:01:28 · 219 阅读 · 0 评论 -
你知道MySQL用了什么样的架构设计吗
mysql本身也是一个软件,跟我们日常开发的软件一样,都是一行行代码运行起来的。所以只要理清楚架构,mysql也没那么神秘,只不过写这个代码的人很牛掰。数据库连接池,开发过java的应该都很熟悉,同样,mysql本身也会维护有一个数据库连接池,可以通过一下查看mysql默认的连接数mysql> show variables like '%max_connections%';+------------------------+-------+| Variable_name .原创 2020-05-12 00:21:11 · 234 阅读 · 0 评论 -
MySQL千万级、亿级数据性能调优
前言公司的一个项目,单表数据量过亿,刚上线就遇到了性能问题。刚好可以优化一下,记录一下优化过程。本文使用mysqlslap进行压测,对此工具不熟悉的先看我的另外一篇文章https://blog.csdn.net/sishenhzy/article/details/104148892环境在自己的工作电脑上进行测试数据库:mysql 5.7压测工具:mysql自带压测工具mysqls...原创 2020-02-05 15:44:46 · 2600 阅读 · 0 评论 -
MySQL查看数据库表数据量大小和索引数据大小以及行数
前言作为开发人员,需要对mysql数据表的数据的大小,索引大小,行数等信息有一定的了解,特别是数据量大的时候,才能心里有把握。方法一打开MySQL的 information_schema 数据库,在该库中有一个 TABLES 表,这个表里面记录了所有表的详细信息。mysql> SELECT * FROM `information_schema`.`TABLES` LIMIT 5;+...原创 2020-02-05 14:19:10 · 1222 阅读 · 0 评论 -
mysql数据库覆盖索引
如果一个索引包含或者说覆盖所有需要查询的字段的值,那么就没有必要再回表查询,这就称为覆盖索引。覆盖索引是非常有用的工具,可以极大的提高性能,因为查询只需要扫描索引会带来许多好处:索引条目远小于数据行大小,如果只读取索引,极大减少数据访问量索引是有按照列值顺序存储的,对于I/O密集型的范围查询要比随机从磁盘读取每一行数据的IO要少的多例如:ads_cusprofile_et_info表,...原创 2020-02-04 00:51:16 · 196 阅读 · 0 评论 -
mysql数据库查询实际扫描行数
mysql数据库查询实际扫描行数例如我执行的语句是:SELECT iss_dt AS date,SUM( user_num ) AS count FROM ads_cusprofile_et_info WHERE label_id = 'sex' AND iss_dt >= '20181228' AND iss_dt <= '20191228' GROUP BY iss_dt;...原创 2020-02-04 00:06:31 · 3966 阅读 · 0 评论 -
MySQL 性能优化神器 Explain 使用分析
简介MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAIN SELECT * from user_info WHERE id < 300;准备为了接下来方便演示 EXPL...转载 2020-02-02 21:38:24 · 107 阅读 · 0 评论 -
MySQL自带性能测试工具mysqlslap使用教程
简介mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试测试平台在自己的工作电脑上进行测试的。CPU:i5-8250U 4核心8线程内存:16GB硬盘:SSD 256GB所有参数C:\Users\Hzy>mysqlslap --h...原创 2020-02-02 21:05:49 · 882 阅读 · 0 评论