摘要:
MySQL版本:5.7.21 MySQL中有多种日志来保证实现其各种功能,我们最常见或者常听说的是Binlog(二进制日志),Redo Log(重做日志),Undo Log(回滚日志)。其实还有Relay Log(中继日志) ,General Query Log(一般查询日志),Slow Query 阅读全文
摘要:
本文是在存储引擎是InnoDB的前提下 mysql中的针对表的操作可以分为增删改查四种操作,也就是常说的crud大法,根据类型分为DML(增删改)和DQL(查);今天就说下插入和查询的语句时如何在mysql中执行的。 不管是DML还是DQL都是要经过连接器,缓存,分析器,优化器,执行器调用存储引擎的 阅读全文
摘要:
mysql是目前互联网中用的最广泛的关系型数据库,InnoDB是mysql默认的存储引擎也是使用最多的存储引擎,能够满足大多数的业务需求,其中高并发的优点就是通过mvcc实现的。这篇文章就来介绍下mvcc是如何支持并发的。 多版本并发控制 MVCC 全称Multi-Version Concurren 阅读全文
摘要:
垃圾即是无用的东西,不仅无用的了,而且占用地方,不丢留着干嘛。jvm也想把自己的垃圾给丢掉,毕竟jvm的内存空间还是很贵的。 那么就有两个问题: 一,什么是垃圾,怎么判定一个对象是不是垃圾呢? 二,怎么丢垃圾,什么姿势丢垃圾优雅(算法)? 一,怎么判断某对象是不是垃圾 对于jvm来说垃圾就是一个没有 阅读全文
摘要:
对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内在中最大的一块。Java堆是被所有线程共享的一块内在区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。虚拟机规范中的描述是:所有类的实例与数组对象都要在堆中分配。但是随着J 阅读全文
摘要:
当前环境版本5.7.21 mysql> select version(); + + | version() | + + | 5.7.21 | + + 1 row in set (0.00 sec) 一. 什么是事务 事务就是现实中抽象出来一种逻辑操作,要么都执行,要么都不执行,不能存在部分执行的情况 阅读全文
摘要:
问题说明: 企业级门户APP,有移动端组织架构,员工可以在app端查询公司用户信息,支持员工在通讯录中多字段搜索(姓名/工号/手机号/邮箱/......),模糊搜索。我们这边是使用elasticsearch来存储员工信息, 以便于实现这种搜索功能。 正常把员工信息导入到es中,搜索也不会有问题。但是 阅读全文
摘要:
有了QQ,微信之后短信的作用对个人好像没有什么特别的用处,平时朋友间的沟通都是通过微信(也有QQ),渐渐淡化了短信的用处。但是作为开发我们还是会接触短信平台的。 短信现在的用处: 网站和app的安全验证(注册,登陆,修改密码等) 广告推送骚扰 生日祝福(来自理财,保险,银行) 女朋友生气拉黑微信/电 阅读全文
摘要:
“ 我们经常在多表查询的时候使用join 去连接多个表,其实join的效率比不好还是应该尽量避免使用的,其本质就是各个表之间循环匹配的,MySQL中只支持一种join算法Nested-Loop Join(循环嵌套连接),但是其有多种变种的算法提高join的执行效率。” 1. Simple Neste 阅读全文
摘要:
“ 不要当库里的数据较多的时候才能知道索引的重要性,更不要当库里的数据更多的时候才能知道合适的索引重要性。本文介绍下怎么创建高效且合适的索引” 1. 当使用索引列进行查询的时候尽量不要使用表达式,把计算放到业务层而不是数据库层 如下图 两个sql的结果是一样的,但是两个sql的执行计划是不一样,在t 阅读全文