![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库优化
贺佬湿
一个10年+资深IT互联网老司机,终身学习者。从0到1负责过百亿GMV电商平台的整体架构设计,月GMV从1亿到10亿+,轻松玩转亿级用户流量。Github开源社区的优秀贡献者,开源项目数超过6个,Star数2k。大到待过国内上市公司、世界500强外企公司,小到创过业,做过物联网、互联网广告、电商等行业赛道。有经历公司在一年内,从100人+,发展到1300人+的团队规模扩展,产研团队近300人,史上最年轻的高级技术总监、首席架构师。
展开
-
【总结】SQL性能优化技巧整理汇总
背景一开始会用SQL时,我们都以为使用 MySQL 是非常的简单的,无非都是照着 【select from where group by order by】 这个格式套来套去;从来不会关注 SQL 的耗费时长,更不会关注查询的性能。但是当用户量上来了,表数据不断暴增,导致我们以前写的 SQL 的查询时间越来越长,最后还被 DBA 和领导疯狂吐槽一波。那么,此时我们是不是应该学习一下如何去优化我们的烂 SQL 呢?这篇文章,将从多方面去深入讲解如何优化 SQL索引优化索引的数据结构是 B.原创 2020-06-30 14:26:23 · 2872 阅读 · 0 评论 -
【总结】互联网技术架构中常用的分库分表方案汇总
问题背景一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看,就是:可用数据库连接少甚至无连接可用。接下来就可以想象了:并发量、吞吐量、崩溃等1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表第...原创 2020-04-12 23:23:29 · 1314 阅读 · 1 评论 -
MySQL优化那些事
项目上线了一段时间,每天成百上千万数据生成,相关系统资源消耗也随之增加,分库分表、缓存也慢慢落地加入,但其中sql语句优化,像索引、查询优化等,更是重点之重(不久前一个业务点上线,由于数据量和查询未评估好,导致当晚CPU 100%爆掉)。最近购买了《高性能MYSQL第3版》在啃读,近半个月一直在优化相关sql等用法和使用,也阅读了一些比较好的文章资源,集中知识整理一下。“查询容易,优化不易,且...原创 2018-04-11 15:32:04 · 2604 阅读 · 0 评论 -
【踩坑】MySQL时间索引失效
项目中查时间数据段数据时,发现查询时间很长,RDS查了一下执行计划:各列解析说明:id:表示执行的顺序,id的值相同时,执行顺序是从上到下,id的值不同时,id的值越大,优先级越高,越先执行select_type:1、SIMPLE表示不包含子查询和union2、查询中若包含子查询,最外层查询则标记为:PRIMARY3、在select或者where列表中包含了子查询,则...原创 2018-08-18 17:52:04 · 35731 阅读 · 2 评论 -
【总结+踩坑】MySQL导出导入用法/最大连接数以及其他常见问题
总结MySQL导出导入用法,采坑了一些问题,希望能帮到你少走点弯路导出使用mysqldump命令导出1. 导出整个数据库(结构+数据)用法:mysqldump -u 用户名 -p 数据库名 > 导出的文件名案例:mysqldump -u dbuser -p dbname > dbname.sql2. 导出某一个或者几张表用法: 单表:mysqldump...原创 2019-01-08 20:44:38 · 1090 阅读 · 0 评论 -
【总结】亿级数据的访问和储存,实现和优化
是否你也遇到了类似的问题:如何处理海量数据比如订单数据越来越多(亿级),查询越来越慢,如何处理?分库分表会带来哪些副作用?可能的解决方式有哪些?问题目前经常使用的关系型数据库如MySQL、SQL Server等,都是以“行”为单位进行存储,为了快速检索,也都采用了B树或其他索引技术。从原理上来讲,表中的数据越多,索引树的范围越大,磁盘读取也越多,性能也就越低。实践从实...原创 2019-04-22 14:50:33 · 3815 阅读 · 0 评论 -
千万数据的分库分表方案
这是项目中有一定量级的数据或用户,都会遇到的一个问题,故记录一下自己的开源项目集合,见这里单表数据量达到1000W以后,就要拆了背景情况用户表达到了 几千万级别,在做很多操作都比较吃力,.所以,考虑对其进行分表.常用的切分方案数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,...原创 2018-07-24 01:21:22 · 12582 阅读 · 1 评论 -
【踩坑】如何强制更改Docker容器中的Mysql密码(忘记密码)
问题描述使用docker容器时,通过镜像安装了Mysql5.6版本,但忘记了root密码,需要重新设置root密码解决步骤1. 增加“忘记密码启动”模式2. 重新设置root密码3. 删掉“忘记密码启动”模式4. 重启容器镜像即可具体操作1. 通过docker exec命令进入容器内docker exec -it db002 /bin/sh注:...原创 2019-05-10 09:49:38 · 9902 阅读 · 3 评论