3 开心的码字达

尚未进行身份认证

我要认证

我是要成为架构师的男人

等级
TA的排名 8k+

高性能的Mysql读书笔记系列之六(查询性能优化)

前言:即使设计了最优的库表结构、建立了最好的索引,如果没有的合理的查询sql,也是无法实现高性能的。所以除了对索引优化、库表结构优化,查询优化也是需要齐头并进的。正文:一、MySQL执行一个查询的过程是怎么样的?MySQL到底做了什么?查询执行路径1.客户端发送一条查询给服务器。2.服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3.服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划。4.MySQl根据优化器生成的执行计划,调

2020-10-09 14:14:04

高性能的Mysql读书笔记系列之五(创建高性能的索引)

前言:正文:总结:

2020-09-21 16:22:37

高性能的Mysql读书笔记系列之四(Schema与数据类型优化)

前言:良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计schema,这往往需要权衡各种因素。例如,反范式的设计可以加快某些类型的查询,但同时可能使另一些类型的查询变慢。所以在进行库表设计的时候,需要根据具体的情况在范式和非范式之间进行取舍。正文:一、如何选择优化的数据类型1.更小的通常更好一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和cpu缓存,并且处理时需要的cpu周期更少。但是要确保没

2020-09-03 09:54:52

高性能的Mysql读书笔记系列之三(Mysql的基准测试)

前言:正文:总结:

2020-08-31 15:00:16

高性能的Mysql读书笔记系列之二(Mysql慢查询日志总结)

前言:MySQL的慢查询日志是Mysql提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查询日志中。这篇博客我们讲解如何开启Mysql的慢查询日志以及相关参数的意义。正文:一、Mysql中有主要以下几种日志文件:1.错误日志:(error log):记录mysql服务的启停时正确和错误的信息,还记录启动、停止、运动过程中的错误信息。2.查询日志:(general log):记录建立的客户端连接和执

2020-08-13 16:45:35

高性能的Mysql读书笔记系列之一(Mysql的逻辑架构和常见的存储引擎)

前言: 为了充分发挥MySQL的性能并顺利地使用,就必须理解其设计。MySQL的灵活性体现在很多方面。例如,你可以通过配置使它在不同的硬件上都运行得很好,也可以支持多种不同的数据类型。但是,MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。(摘自高性能的Mysql)简而言之:为...

2020-08-07 17:17:38

RPC的从0到1的认识

前言:我们在面试或者开发中经常听到RPC框架或者RPC协议,那么RPC到底是是什么呢?今天这篇文章就带你认识RPC。正文:一、RPC是什么?RPC(Remote Procedure Call):远程过程调用的意思。其中过程可以理解为一个程序或者一个功能接口,所以RPC也可以理解为远程程序的调用的或者远程接口的调用。RPC采用CS架构的方式进行应用与应用之间的通信,来达成数据交互。二、RPC与RMI的区别?RMI(Remote Method Invocation)远程方法调用是o.

2020-08-04 17:04:16

互联网分布式系统架构演进之路

前言:这是一篇学习心得的分享,告诉大家一个小系统是如何变得越来越复杂的。正文:网站一开始就是大型的吗?我们应该一开始就设计一个大型网站吗?这应该没有一个确切的答案,只能根据具体情况而看。总结:...

2020-07-31 16:16:14

Idea有这个类,却搜索不到,引用的地方还标红!

前言:某次从git上拉下来项目后,然后正常启动项目,到这里都一切正常,然后点击到某个Controller里发现,有个Service标红,ctrl+alt更是下钻不到相应的实现类。然后更厉害的是在哪里都打出这个类,似乎Idea根本无法识别到它。如果你也碰到类似的情况可以试试下面的操作步骤。正文:一、分析原因对于首次创建或打开的项目,idea都会为项目创建索引和生成缓存,目的是为了加快项目文件查询速度,从而提高各种查找、代码提示等操作的速度,但有的时候由于强制关机等不不当操作,可能导致Idea出

2020-07-30 17:29:18

springboot中事务的使用

前言:我们在实际业务开发中,经常需要往A表插入的数据的同时,还需要同时往B表去插入数据,要不全部成功,要不全部不成功,这就需要事务管理了。事务其实就是指逻辑上的一组操作,组成这组操作的各个单元,要成功都成功,要失败都失败,从而保持数据的一致性,今天就和大家讲解下怎么在实际业务开发中使用事务。正文:一、Spring中事务管理分为两种方式1.编程式事务管理spring框架提供了两种编程式事务管理方式:使用TransactionTemplate和直接使用PlatformTransactionM

2020-07-29 22:22:34

时间维度表的生成和具体的使用场景

前言:正文:总结:

2020-07-28 13:18:58

springboot整合Mongodb以及Mongodb的安装(Mongodb版本4.2.3)

前言:由于想做一个问卷调查系统,所以想起了非关系型数据库Mongodb,毕竟要是用Mysql去存储一张问卷调查单的内容,得拆分成好几张表,但是对于Mongodb就会容易很多,因为它是一个面向集合的,模式自由的文档型数据库。它不像关系型数据库Mysql一样需要定义表的结构和数据类型,它是schema-free(模式自由的),比如我在一个集合(Collection类似mysql里Table的概念)里可以不断增加字段,而不用我们去执行alert 语句去修改表结构。{"name":"阿达"}{"name

2020-07-18 13:46:28

Mybatis的「if」 标签有坑之参数是0的时候会被过滤掉!

前言:米娜,今天的文章还是简确用的文章,希望可以帮到你们。Mybatis 有一些标签,用来支持动态 sql 语句,简单来说,这些标签可以控制 sql 语句的输出,设置某些条件来让Mapper输出不同的 sql 语句,今天这篇文章主要说一下使用<if>标签会遇到的坑。正文:一、复现问题1.数据库的数据2.Controller层代码@RestController@RequestMapping("/study")public class StudentContro

2020-07-10 11:53:00

如何通过劳动仲裁拿到4个月的补偿——程序员的维权之路!

疫情期间被裁,如何通过合法的手段维护自己的权益!

2020-07-07 22:27:41

2020年的毕业生,再也不用纠结去大公司还是小公司了,真棒!

前言:今年的毕业生再也不用纠结去大公司还是小公司啦,因为你会发现根本找不到工作。由于疫情的原因,很多秋招辛辛苦苦拿到的offer不算数啦,oh my 噶,对你没听错,吃到嘴里的你也得吐出来。春招就更不用提了,大部分企业都取消了春招。就连我们这已经工作一段时间的有志青年,都发现公司“氛围”有点冷,裁员的裁员,降薪的降薪。整个社会的大环境,就是企业要保存实力过冬,能减少开支就减少,所以企业的坑位之争在今年就变得尤其激烈。前几年总说“史上最难毕业季”,跟今年比那都是在扯犊子,但是2020年毕业的小伙伴

2020-05-28 19:50:31

Idea如何导入eclipse的聚合工程的项目

前言:由于工作的原因,很可能原来用eclipse建的聚合工程的项目,需要导入到idea里,那么idea是如何操作的呢,对于不是很熟悉Idea的小伙伴们可能会一脸懵逼,这篇博客就把操作流程梳理一番。正文:1.打开idea,选择Import Project2.选择整个聚合工程的项目文件3.选择Maven4. 一定要选择Search for projects recursively,这样才能扫描到项目的pom如果不勾选Search for projects r...

2020-05-15 20:18:51

nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping

前言:在使用mybatis的时候,有的mapper接口需要传入多个类型参数的接口,这时候一不小心就会出现题目中所提到的问题,这篇文章就这种情况出现的bug讲解下bug出现的原因以及解决方案。正文:一、复现问题首先看下我的各层代码:1.post请求界面2.controller层代码3.service层代码4.serviceimpl层代码5.dao层代码6.mapper.xml层代码错误信息:nestedexceptionisorg...

2020-05-14 19:19:36

Idea启动springboot项目的时候如何指定配置文件?

前言:我们在使用springboot项目开发的时候,可能会遇到这样一种情况,每次切换环境跑项目的时候,都得修改配置文件的数据库地址,这样来回修改感觉很麻烦,所以今天就分享下如何设置多个配置文件,并且用idea启动时指定配置文件。正文:一、总结:...

2020-05-14 13:03:32

解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常

前言:先说一下我的项目框架,项目是springboot+mybatis-plus,开发工具idea,在mapper.xml写自定义的sql,并用postman调用相关的接口时,报的标题中出现的错误。在解决这个bug之前,我先和大家普及一个概念,这个概念很重要,也为后面解决bug的方向上起到了指导作用。idea的mapper.xml和dao的位置该怎么放?在idea中有两种处理的方式:1.把xml放到Java文件目录下并和dao放在一起这种时候,你需要在pom文件里配置xml的路径,以及m

2020-05-12 14:57:20

疫情期间无法出门,程序员如何在家观看樱花?

前言:随着人工智能的兴起,Python作为一种科学语言的流行程度急剧上升,有许多机器学习库就是用Python编写的。那么今天就带着大家用python做一个小动画,希望可以引起想学习python的小伙伴的兴趣。正文:一、想在windows的电脑上运行python的脚本需要先安装python环境,才可以运行写的python脚本,我们先进入python的官网下载python安装包p...

2020-03-13 12:32:27

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 1024达人勋章
    1024达人勋章
    10月24日粉丝/获赞/评论/收藏累计达到1024,即可获得“1024达人”勋章
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取