摘要: 本文不涉及复杂的底层数据结构,通过explain解释SQL,并根据可能出现的情况,来做具体的优化,使百万级、千万级数据表关联查询第一页结果能在2秒内完成(真实业务告警系统优化结果)。希望读者能够理解SQL的执行过程,并根据过程优化,走上自己的"成金之路" 需要优化的查询:使用explain 出现了U 阅读全文
posted @ 2018-06-28 11:44 李留广 阅读(5102) 评论(0) 推荐(0) 编辑
摘要: 写在前面 记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的。这也是为什么自己特别喜欢看案例,今天也分享自己做的优化案例。 之前分享过OA系统、HIS系统,今天我们来一个最常见的ERP,ERP系统各行各业都在用,不同行业也有不同的特点,博主在做研 阅读全文
posted @ 2018-06-22 11:34 李留广 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 自然连接查询 通过上面的图我们注意到,自然连接的语法是JOIN ON,as 后面就是对应表和字段的别名,JOIN后面是连接的表,ON后面是连接的条件。 我们查询的数据量是16000条,我们使用表的引擎是MYISAM。 我们来看这次查询的时间是:4.527ms(这个查询是简单查询,没有加索引) 我们给 阅读全文
posted @ 2018-06-11 16:54 李留广 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在了解R 阅读全文
posted @ 2018-06-06 09:47 李留广 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案;在介绍RDB和 阅读全文
posted @ 2018-06-06 09:43 李留广 阅读(155) 评论(0) 推荐(1) 编辑
摘要: Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。在一个以前看到系统监控工具,总在想那些监控工具的代理,如何收集系统性能信息,io性能,cpu使用,带宽使用等信息,偶然发现,不同系统均提供有性能分析工具的,代理可通过这些命令获取系统性 阅读全文
posted @ 2018-06-04 15:56 李留广 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。具体配置过程如下: 1. 在http节点下,添加upstream节点。 upstream linuxidc { server 10.0.6.108:708 阅读全文
posted @ 2018-06-01 17:10 李留广 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 许久,没来了,公司项目太赶了。来这里透透气 阅读全文
posted @ 2018-06-01 13:16 李留广 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 先搞清楚,什么是协程。 你可能已经听过『进程』和『线程』这两个概念。 进程就是二进制可执行文件在计算机内存里的一个运行实例,就好比你的.exe文件是个类,进程就是new出来的那个实例。 进程是计算机系统进行资源分配和调度的基本单位(调度单位这里别纠结线程进程的),每个CPU下同一时刻只能处理一个进程 阅读全文
posted @ 2018-04-12 15:23 李留广 阅读(8951) 评论(0) 推荐(0) 编辑
摘要: 多任务协作 如果阅读了上面的logger()例子,那么你认为“为了双向通信我为什么要使用协程呢? 为什么我不能只用常见的类呢?”,你这么问完全正确。上面的例子演示了基本用法,然而上下文中没有真正的展示出使用协程的优点。这就是列举许多协程例子的理由。正如上面介绍里提到的,协程是非常强大的概念,不过这样 阅读全文
posted @ 2018-04-12 15:15 李留广 阅读(354) 评论(0) 推荐(0) 编辑