数据库
柳家河
专注JAVA/GOLANG
展开
-
讲给普通人听的分布式数据存储
关系型数据库到底有什么问题? 正如很多人可能已经知道的,关系型数据库(RDB)技术自从1970年代就已经存在,直到1990年代末一直是结构化存储的事实标准。RDB几十年来很出色地支持了高度一致性事务的工作负载,并依然保持强劲。随着时间的推移,该项古老的技术为应对客户的需求获得了新的能力,比如BLOB存储、XML/文档存储、全文检索、在数据库中执行代码、使用星形数据结构的数据仓库、以及地理转载 2016-02-17 18:59:35 · 292 阅读 · 0 评论 -
分库分表策略的可实现架构
分库分表 是解决mysql水平扩展的主要手段。 网上有关策略的讨论很多,主要是hash扩展、按时间扩展、按范围扩展等等。但真正想实施分库分表的朋友们往往觉得“策略听来终觉浅,觉知此事要代码”,因此本文的主要目的是给朋友们提供一个可实现架构。 JDBCTemplate和Hibernate 大家都知道Hibernate是ORM(对象-关系数据库 mapping)转载 2016-02-17 19:00:09 · 793 阅读 · 0 评论 -
百万数据查询优化技巧三十则
1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,转载 2016-02-17 19:01:02 · 268 阅读 · 0 评论 -
MySQL limit分页查询优化写法
在mysql中进行分页查询时,一般会使用limit查询,而且通常查询中都会使用order by排序。但是在表数据量比较大的时候,例如查询语句片段limit 10000,20,数据库会读取10020条数据,然后把前10000条丢弃,把最后的20条返回给你,这种消耗是可以避免的,也是没必要的。 下边介绍几种优化方法: 优化方法1: 让分页操作在索引中进行 一般表中经常作为条件查转载 2016-02-17 20:29:03 · 833 阅读 · 0 评论 -
[精华] 数据库设计技巧
数据库设计技巧(一) 在动态网站的设计中,数据库设计的重要性不言而喻。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。无论你使用的是mySQL或者Oracle数据库,通过进行正规化的表格设计,可以令你的PHP代码更具可读性,更容易扩展,从而也会提升应用的性能。简单说来,正规化就是在表格设计时,消除冗余性和不协调的从属关系。在本文中,我将通过五个渐进的过程来告诉你在设计中应该了解的转载 2016-02-17 20:29:58 · 317 阅读 · 0 评论 -
分库分表总结
单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql, 还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,转载 2016-02-17 20:30:40 · 372 阅读 · 0 评论