Hi,大家好!我是白日梦! 今天我要跟你分享的MySQL话题是:"了解InnoDB的FreeList吗?谈谈看!" 本文是MySQL专题的第 7 篇,共110篇. 一.回顾 前面几篇文章白日梦和你分享了,我们从磁盘中读取出来的数据页以缓存页和描述信息的方式组织在Buffer Pool中. MySQL启动后,BufferPool就会被初始化,在你没有执行任何查询操作之前,BufferPool中的缓存页都是一块块空的内存,未被使用过也没有任何数据保存在里面. 而且你也知道了通过缓冲页的描述…
这一篇笔记我们简述一下 MySQL的B+Tree索引到底是咋回事? 聚簇索引索引到底是如何长高的. 一点一点看,其实蛮好理解的. 如果你看过了我之前的笔记,你肯定知道了MySQL进行CRUD是在内存中进行的,也就是在Buffer Pool中.然后你也知道了当内存中没有MySQL需要的数据时,MySQL会从Disk中通过IO操作将数据读入内存中.读取的单位呢就是:数据页 一般数据页长下面这样 没错,数据页中存储着真实的数据,而且数据页在内存中是以双向联表的方式组织起来的!如下图 而在B+Tree的…
把Mysql的数据同步到Elasticsearch是个很常见的需求,但在Github里找到的同步工具用起来或多或少都有些别扭. 例如:某记录内容为"aaa|bbb|ccc",将其按|分割成数组同步到es,这样的简单任务都难以实现,再加上配置繁琐,文档语焉不详... 所以我写了个同步工具MysqlsMom:力求用最简单的配置完成复杂的同步任务.目前除了我所在的部门,也有越来越多的互联网公司在生产环境中使用该工具了. 欢迎各位大佬进行试用并提出意见,任何建议.鼓励.批评都受到欢迎. git…
mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间,我们在mysql里面他封装了一个内置的时间戳转化的函数,比如我们现在的时间戳是:1458536709 ,"%Y-%m-%d"); 系统将会自动将他转成人类看得懂的时间 如果想取出现在的时间,我们也是可以通过内置的函数来获取的: select current_date();…
MySQL最易碰到的性能问题就是数据量逐步增大之后的翻页速度变慢的额问题,而且越往后翻页速度越慢,如果用最快速的办法解决,以下就是解决办法,简单方便. 1.问题现状 现有MySQL数据表 event_data ,数据量 36.7万,如下: mysql> select count(1) from event_data; +----------+ | count(1) | +----------+ | 367961 | +----------+ 1 row in set (0.05 sec) 使用S…
大家好,我是一灯,今天一块学习一下如何优雅安全的备份MySQL数据? 1. 为什么要备份数据 先说一下为什么需要备份MySQL数据? 一句话总结就是:为了保证数据的安全性. 如果我们把数据只存储在一个地方,如果物理机器损坏,会导致数据丢失,无法恢复. 还有就是我们每次手动修改线上数据之前,为了安全起见,都需要先备份数据.防止人为的误操作,导致弄脏数据或弄丢数据. 2. 怎样备份MySQL数据? 想要快速简单粗暴备份MySQL数据,可以使用mysqldump命令: # 备份test数据库 mysq…
环境搭建 1.到apache下载solr,地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ 2.解压到某个目录 3.cd into D:\Solr\solr-4.10.3\example 4.Execute the server by “java -jar startup.jar”Solr会自动运行在自带的Jetty上 5.访问http://localhost:8983/solr/#/ PS:solr-5.0 以上默认对schema的管理是使用m…
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力活:对于自动化测试与人工测试优缺势的问题,这里不想深入讨论,开一个博客收集一些观点然后开个讨论组讨论效果可能会更好. 标题上列的,是自己对web自动化这块统一的一个想象或是一套完整的自动化应所包含的的部分,目前完成了excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试…
一.从常见的报错说起 故事的开头我们先来看一个常见的sql报错信息: 相信对于这类报错大家一定遇到过很多次了,特别对于OMG这种已内容生产为主要工作核心的BG,在内容线的存储中,数据大一定是个绕不开的话题.这里的数据“大”,远不止存储空间占用多,其中也包括了单个(表)字段存储多.大,数据留存时间长,数据冗余多,冷热数据不明显导致的体量大,访问峰值随着热点变化明显,逻辑处理复杂导致数据存储压力放大等等.回到这个报错的问题上来,我们先来看一下这个表的结构: 看到这里,我相信大家会有不同的处理方式了,…
一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计.测试到部署交付的全生命周期管理.DBA的核心目标是保证数据库管理系统的稳定性.安全性.完整性和高性能. 百科出来的内容总是那么的专业,让人看完之后的感觉是很解释的很好,但是我没有看懂或者似懂非懂…