共 12 篇文章 |
|
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器。考虑到数据切分的DB设计,将违背这个通常的规矩和约束,为了切分,我们不得不在数据库的表中出现冗余字段,用作区分字段或者叫做分库的标记字段,比如上面的article的例子中的user_id这样的字段(当然,刚才的例子并没有很好的体现出user_id的冗余性,因为user_id这个... 阅49 转0 评0 公众公开 16-06-03 13:45 |
Moebius集群:SQL Server一站式数据平台。调度:按照业务的需要将SQL语句调度到相应的服务器上;在对SQL语句进行分发时采用多种负载均衡策略,可以实现SQL语句一级的负载均衡。1、可持续扩展的方案,实现负载均衡:Moebius集群提供数据包解析及多种负载分发机制,最终实现SQL语句级负载均衡;集群中所有节点处于实时活动状态,可以有效分担系统的... 阅808 转0 评0 公众公开 16-04-26 17:13 |
从上图可以看出,直接创建的分区表Sale的索引里,只有一个名为PK_Sale的索引,这个索引是唯一的、非聚集的索引,也就是在创建PK_Sale主键时SQL Server自动创建的索引。对于表Sale来说,可以通过修改分区函数的方式来将其转换成普通表,具体的修改方式请看《SQL Server 2005中的分区表(四):删除(合并)一个分区》,事实上,就是将分区函数中... 阅15 转0 评0 公众公开 16-04-21 14:47 |
SQL Server 2005中的分区表(五):添加一个分区。从以上代码中可以看出,分区函数定义了用于分区的数据边界,而分区函数指定了符合分区边界的数据存放在文件组。在为分区方案指定一个可用的文件组时,该分区方案并没有立刻使用这个文件组,只是将文件组先备用着,等修改了分区函数之后分区方案才会使用这个文件组(不要忘记了,如果分区函数没... 阅31 转0 评0 公众公开 16-04-21 14:47 |
SQL Server 2005中的分区表(四):删除(合并)一个分区。删除分区函数中的分界值,也就是修改分区函数的方法如下所示:我们可以在修改分区函数时先统计一下各物理分区中的记录总数,在修改分区之后,再统计一下各物理分区中的记录总数,看一下修改分区函数后的数据变化情况,代码如下所示:事实上,在修改分区函数之后,SQL Server也会自动修... 阅37 转0 评0 公众公开 16-04-21 14:46 |
SQL Server 2005中的分区表(三):将普通表转换成分区表。[c-sharp] view plain copy --创建一个新的聚集索引,在该聚集索引中使用分区方案 CREATE CLUSTERED INDEX CT_Sale ON Sale([SaleTime]) ON partschSale([SaleTime])[c-sharp] view plain copy --统计所有分区表中的记录总数 select $PARTITION.partfunSale(SaleTime) as 分区编... 阅15 转0 评0 公众公开 16-04-21 14:46 |
SQL Server 2005中的分区表(二):如何添加、查询、修改分区表中的数据。[c-sharp] view plain copy select * from Sale where $PARTITION.partfunSale(SaleTime)=1 select * from Sale where $PARTITION.partfunSale(SaleTime)=2 select * from Sale where $PARTITION.partfunSale(SaleTime)=3 select * from Sale where $PARTITION.partf... 阅30 转0 评0 公众公开 16-04-21 14:45 |
这一步是必须的了,创建分区函数的目的是告诉SQL Server以什么方式对分区表进行分区。分区函数的作用是告诉SQL Server,如何将数据进行分区,而分区方案的作用则是告诉SQL Server将已分区的数据放在哪个文件组中。道理很简单,聚集索引可以将记录在物理上顺序存储的,而分区表是将数据分别存储在不同的表中,这两个概念是冲突的,所以,在创建... 阅34 转1 评0 公众公开 16-04-21 11:46 |
4.应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描,如:select num from a where exists(select 1 from b where num=a.num)11.在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引... 阅22 转1 评0 公众公开 16-02-24 16:18 |
multiply++) { for (int count = multiply * 100000;AddRange(new DataColumn[]{ new DataColumn("Id",typeof(int)), new DataColumn("UserName",typeof(string)), new DataColumn("Pwd",typeof(string))});AddRange(new DataColumn[]{ new DataColumn("Id&qu... 阅292 转0 评0 公众公开 16-02-24 11:34 |