![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
|--MySQL
文章平均质量分 95
Holmofy
奋斗中的小菜鸟
展开
-
分库分表的一些思考
分库分表这个技术在之前一家公司其实也有接触。上一家公司在业务上按照用户水平分库的,所以避免了很多业务上的问题,但也只是基于Spring的AbstractRoutingDataSource,根据userId做了简单的路由。之前也在网上听说过sharding-jdbc等中间件,也仅限于了解。所以结合我从内网看到的关于TDDL中间件的文章和外网看到的一些文章,在这篇文章中整理一下我这个新人对分库分表的认...原创 2020-04-27 21:47:55 · 862 阅读 · 2 评论 -
MySQL性能优化[准备篇]-慢查询日志
在MySQL5.0及之前的版本中,慢查询日志的响应时间单位是秒。显然对于互联网与电子商务如此发达的现在,“秒”级别的查询实在太慢了。在MySQL5.1及更新的版本中,慢查询日志的功能得到了增强,甚至可以通过设置long_query_time为0来捕获所有的查询。在MySQL的当前版本中,慢查询日志是开销最低、精度最高的测量查询时间的工具。我们完全不用担心开启慢查询日志会带来额外的I/O开销,这...原创 2018-03-10 00:15:52 · 1479 阅读 · 0 评论 -
MySQL性能优化[准备篇]-单条SQL性能剖析
上面一篇文章已经将慢查询语句记录到日志中,接着我们就要对单条SQL查询进行性能分析,了解它慢在何处,才能对症下药进行性能优化。show profileshow profile命令是MySQL5.1之后引入的,由开源社区的Jeremy Cole贡献。1. 开启profilingprofiling系统变量是用来支持访问剖析信息的,profiling默认是关闭的,我们可以用set...原创 2018-03-10 00:22:15 · 437 阅读 · 0 评论 -
在CentOS7上安装MySQL的辛路历程
今天突然心血来潮,想把博客转移到到自己的云服务器上,嗯,想法不错,正好能练练手(后来找到了别的解决方案Hexo,才发现自己有多幼稚,果然是脑子一热,啥事想得出来,但是在这个过程中也学到了一些东西)。CentOS上安装MySQL数据库,linux配mysql,哎哟,不错哦。(→_→在找到别的解决方案后,马上就被我给卸了)。二话不说上yum安装大法[root@VM_235_40_cento...原创 2017-04-05 22:23:29 · 18055 阅读 · 0 评论 -
MySQL性能优化[理论篇]-B树索引与hash索引
对索引的优化是数据库性能优化方面最重要的一项,也是性能提升最显著的。如果把数据库比作一本新华字典,那索引就是字典前面的目录了。如果不使用目录,想从字典中直接找某个字的解释,难度可想而知,但是有了目录,我们可以先从目录中找到这个字对应的页码,然后再翻到相应的页码,就能找到这个字的完整解释了。索引的工作原理和字典目录基本一致。接下来的几篇文章我会细致的分析MySQL数据库中索引的原理以...原创 2018-04-20 00:19:34 · 1475 阅读 · 0 评论 -
MySQL性能优化[实践篇]-使用B树索引
准备测试数据create table tb_user( id int auto_increment primary key, name varchar(10), birth date);使用存储过程创建测试数据,不过在这之前我们先创建两个工具函数。 mysql里面默认以;作为一条完整语句的终结符,为了不与函数和存储过程中的;冲突,我们要提前使用delimiter命...原创 2018-04-24 15:03:23 · 935 阅读 · 0 评论 -
MySQL性能优化[实践篇]-索引合并与复合索引
从上一篇创建索引的实践中,我们看到了索引给我们带来的性能提升是非常可观的。我们上次创建的表结构非常简单,只有两三个字段,where子句查询条件只有一个字段。实际应用场景中我们的表结构会更复杂,查询条件也会非常多。在多条件查询的情况下又如何才能用到索引呢,我们可以测试一下。准备测试数据创建表结构create table tb_test(id int primary key...原创 2018-05-20 19:07:01 · 2944 阅读 · 0 评论 -
MySQL性能优化[实践篇]-复合索引实例
上篇文章最后提了个问题假设某个表有一个复合索引(c1,c2,c3,c4),问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些1. where c1=x and c2=x and c4>x and c3=x2. where c1=x and c2=x and c4=x order by c33. where c1=x and c4=x group by c3,c2...原创 2018-05-26 17:02:11 · 1385 阅读 · 0 评论 -
MySQL性能优化[理论篇]-聚簇索引和非聚簇索引,InnoDB和MyISAM
聚簇索引聚簇索引(Clustered Index)并不是一种新的数据结构,只是B树索引的一种存储方式。聚簇索引的特点是完整的数据行就放在B树的叶子结点中,Clustered(聚簇,集群)就表示数据行与对应的键紧凑的存储在一起。下图是《高性能MySQL》聚簇索引的截图,其中,叶子结点包含了数据行的完整数据,非叶子节点只包含索引列数据。数据行的逻辑顺序与聚簇索引的顺序一致。B+树中...原创 2018-05-27 01:49:45 · 1777 阅读 · 0 评论