1.1. 背景
对于开发来说,分页功能碰到的频率还是算蛮高的,基本上在每个模块中都需要都会遇到列表分页的功能。他们实现的都很快,因为基本上只要把之前的代码改改就OK了。他们的实现基本是是如下语句:...
表迁移工具的选型-xtrabackup的使用
1.1. 场景
有的时候test人员可能需要在测试库上比较新的数据,这时候只能是从生产库上面去那了。如果是小表还好实用mysqldump/mysqlpump就可以轻松的解决。但是,如果遇到了大表这将...
表迁移工具的选型-复制ibd的方法
1.1. 场景
有的时候开放人员自己的库需要帮忙导一些数据,但是表的数据量又很大。虽然说使用mysqldump或mysqlpump也可以导。但是这耗时需要比较久。
记得之前建议开放人员可以直接...
表迁移工具的选型-mysqlpump
1.1. 场景
有两种场景适合使用逻辑迁移:伪大表、跨产品迁移(MySQL 到 MSSQL)。
下面我们模拟伪大表的进行表迁移的情况。
1.2. 使用工具
mysqlpump
1.3. ...
表迁移工具的选型(1)
1.1. 前言
在DBA的工作当中导数据可谓是要经常要做的一件事,在数据量小的时候随随便便整库更新也是无所谓的。但是单数据量达到百G那整库更新起来可谓是十分费力,而且测试库的磁盘也不好。因此,经常发...
会用JOIN,却不懂编程的“程序员”(6)
1.1. 前言
之前的文章应该已经是彻彻底底的证明的拆分join带来的好处是极大的,并且基本已经打破了一些人的谣言。那(“装饰器”+“拆分JOIN”)就这些能耐了吗?答案是否定的。让我们来看一下基本...
会用JOIN,却不懂编程的“程序员”(5)
1.1. 前言
在上一篇文章我们展示了使用装饰器来完成拆分后的编写SQL。好处是让代码变的更加的厉害,更容易的应变未来需求的变更了。但是,麻烦的是免不了需要添加新的装饰器。当然这对哪些较劲的来说肯定...
会用JOIN,却不懂编程的“程序员”(4)
1.1. 前言
前面的文章让我们的程序能轻松的应对业务的变更了。这本该是一件皆大欢喜的事。但是,本系列文章的目的不仅仅在于此,而且还没有满足哪些要少些代码的程序员的要求。
1.2. 请不要来虚
...
pt-online-schema-change 在线更改MySQL表结构
总所周知,数据库最昂贵的操作莫过于DDL操作,因为MySQL在修改表期间会阻塞任何读写操作的,基本上你的业务出于瘫痪状态了。对于庞大的可能历时好几个小时才完成,简直就是个恶梦,没法容忍的操作。
...
会用JOIN,却不懂编程的“程序员”(3)
1.1. 前言
对于之前那种每一个功能都要将SQL语句分成简单语句,取出数据再拼凑。这种方法肯定不是我们想要的结构。这样对任何人都没有好处。而且如果有增加了需求,比如需要查询某个用户在某个店铺下了什...
会用JOIN,却不懂编程的“程序员”(2)
1.1. 前言
在前面的文章我们留下的一个问题,就是使用了拆分的SQL却不能一次性的取出想要的结果。需要使用应用程序来拼凑结构。这边我们使用python来讲述如何拼凑出自己想要的结果。
1.2. ...
MySQL基线测试
前言
其实MySQL基线测试已经不是什么新鲜的话题了,这应该是作为DBA的基本的技能了。大家都知道使用一些工具去做(sysbench、tpcc-mysql、tpc-c等等)。本篇文章不是告诉你相关的...
会用JOIN,却不懂编程的“程序员”(1)
1.1. 前言
作为公司的DB一个职责就是和开发沟通,并给出一些编写SQL的建议。但是沟通容易需要达成一致却是比较困难的。基本上在系统中对数据库的查询疯狂的使用到join进行。夸张的一条语句格式化后...
MySQL分库分表(番外篇3)-小表冗余
其实在商品中都应该有这相关的类别信息。往往我们在查看商品的时候都需要知道此商品是什么类别。因此每一条商品都会关联到相关的类别。因此,在系统中就会有一张类别表。稍微有一点经验的都知道像这种类别表的数据一...
MySQL分库分表(番外篇2)-使用redis
前言
其实在系统中我们可以看到,那些属于公共信息的库和表最总将会成为一个高频爆发的点,系统在那里也容易出现瓶颈。因此我们为了提高系统的并发性和性能。我们可以选择一些NoSQL数据库。
我的推荐
...
15