随笔分类 - 数据库
摘要:数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境。 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡。 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定。 测试环境 MYSQL版本:Server vers
阅读全文
摘要:由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统:假设id=1的这本书库存为1,但是有2个人同时来借这本书,此处的逻辑为: SELECT restnum FROM book WHERE id =1 ; --如果restnum大于0,执行update UPDATE
阅读全文
摘要:系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它基于一个存储key/value对的hashmap,通过在内存中缓存数据和对象来减
阅读全文
摘要:系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 如何设计缓存 主要考虑三个问题: 缓存哪些数据 如何缓存 如何保证数据一致性 缓存哪些数据 系统优化时有一句话必须切记:“优化无止境”,所以如果缓存不是必须的,请果断去掉,要知道
阅读全文
摘要:系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 概述 对于程序员来说多多少少都懂一点算法,算法是什么?算法是“时间”与“空间”的互换策略。 我们常常研究一个算法的时间复杂度和空间复杂度,如果我们有绝对足够的时间和空间,那么算法
阅读全文
摘要:无论逻辑备份还是物理备份,为了获取一致性位点,都强依赖于FTWRL(FlushTableWithReadLock)。这个锁杀伤力非常大,因为持有锁的这段时间,整个数据库实质上不能对外提供写服务的。此外,由于FTWRL需要关闭表,如有大查询,会导致FTWRL等待,进而导致DML堵塞的时间变长。即使是备
阅读全文
摘要:PDF下载地址:SQL-内连接与外连接.pdf 连接查询在关系型数据库中经常用到,是多表联合查询的基础。 主要包含:内连接,外连接,交叉连接。 SQL - 内连接与外连接 内连接 等值连接 不等值连接 自然连接 外连接 左连接 右连接 全连接 交叉连接 内连接 内连接又分为等值连接,不等值连接,自然
阅读全文
摘要:安装mysql 1. 安装mysql以及客户端支持插件 sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev 2. 以上3个软件包安装完成
阅读全文
