![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
lipc_
这个作者很懒,什么都没留下…
展开
-
如何用java 5分钟实现一个最简单的mysql代理服务器?
什么是mysql 代理?mysql代理是介于client端和mysql服务端中间层服务,如下图所示:为什么要使用代理?大部人都知道使用代理的好处,毕竟,随着互联网越来越普及,互联网系统越来越庞大、复杂,性能要求越来越高,为了让整个系统具有更好的扩展性、更高的性能、解藕等多种特性,在数据库层面引入代理层是目前互联网系统常见的架构设计方案。总的来说,在数据库层面引入代理转载 2016-08-04 16:16:10 · 2230 阅读 · 0 评论 -
数据库脏读、不可重复读、幻象读
数据库的事务隔离级别(TRANSACTION ISOLATION LEVEL)是一个数据库上很基本的一个概念。为什么会有事务隔离级别,SQL Server上实现了哪些事务隔离级别?事务隔离级别的前提是一个多用户、多进程、多线程的并发系统,在这个系统中为了保证数据的一致性和完整性,我们引入了事务隔离级别这个概念,对一个单用户、单线程的应用来说则不存在这个问题。首先,我们来看一下高并发的系统中转载 2016-11-08 16:03:15 · 520 阅读 · 0 评论 -
唯品会的订单分库分表实践总结以及关键步骤
随着唯品会业务的快速发展,订单量的不断增长,原有的订单存储架构已经不能满足公司的发展了,特别是在大促高峰期,原订单库已经成为抢购瓶颈,已经严重制约公司的发展。唯品会旧订单库包含几十张订单相关表,旧订单库是典型的一主多从架构;主库容量已接近服务器物理空间上限,同时也已经达到MySQL的处理上限,很快将无法再处理新增订单。旧订单库面临的问题有:1、超大容量问题订转载 2016-10-04 13:20:31 · 2060 阅读 · 0 评论 -
分库分表策略的可实现架构
分库分表 是解决mysql水平扩展的主要手段。 网上有关策略的讨论很多,主要是hash扩展、按时间扩展、按范围扩展等等。但真正想实施分库分表的朋友们往往觉得“策略听来终觉浅,觉知此事要代码”,因此本文的主要目的是给朋友们提供一个可实现架构。 JDBCTemplate和Hibernate 大家都知道Hibernate是ORM(对象-关系数据库 mapping)转载 2016-10-04 13:24:55 · 1250 阅读 · 0 评论 -
百万数据查询优化技巧三十则
1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,转载 2016-10-04 13:26:03 · 561 阅读 · 0 评论 -
Mysql建表与索引使用规范详解
一、Mysql建表、索引等一些总结一、 MySQL建表,字段需设置为非空,需设置字段默认值。二、 MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL。三、 MySQL建表,如果字段等价于外键,应在该字段加索引。四、 MySQL建表,不同表之间的相同属性值的字段,列类型,类型长度,是否非空,是否默认值,需保持一致,否则无法正确使用索引进行关联对比。五、 M原创 2016-10-18 23:29:48 · 4731 阅读 · 0 评论 -
MySQL优化之BTree索引使用规则
MySQL优化之BTree索引使用规则从一道题开始分析:假设某个表有一个联合索引(c1,c2,c3,c4)一下——只能使用该联合索引的c1,c2,c3部分A where c1=x and c2=x and c4>x and c3=xB where c1=x and c2=x and c4=x order by c3C where c1=x and c4= x group转载 2016-10-18 23:36:20 · 2038 阅读 · 0 评论