动态范围查询问题:一、线段树+点修改 支持操作:Update(x,v): 将Ax修改为vQuery(L,R) :计算[L,R]内的最小值 1 int minv[maxn]; 2 int ql,qr; 3 int Query(int u,int L,int R){ 4 int M=L + (R...
分类:
其他好文 时间:
2015-08-06 20:05:10
阅读次数:
252
建立索引的几大原则
最左前缀匹配原则,mysql会一直向右匹配直到遇到范围查询(>、,比如a = 1 and
b = 2 and c > 3 and d = 4 ,如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整(参考原则2)。但是mysql查询优化器可能通过优化调整顺序从而使用索引,但是写sql语...
分类:
数据库 时间:
2015-08-05 18:25:12
阅读次数:
193
比如有些数据需要通过日期范围查询,这是个很常见的场景。 使用Sorted Sets当存储的数据结构,添加key时把日期进行简单的转码。 一年有365天,在score中预留三位来存储天份,通过DayOfYear计算出一年第多少天:
分类:
其他好文 时间:
2015-07-20 09:08:32
阅读次数:
116
主要是两种,一种是用数值进行范围划分,一种是hash,有点类似于memcached集群机制。下表对比了优缺点sharding算法范围查询性能数据分布ranged based强, 容易集中在一个shard上的多个chunks不均匀, 影响scale outhash based一般,需要查询多个shard才能获得结果均匀MongoDB还提供了可以自定义算法的机制,叫做tag aware shardin...
分类:
数据库 时间:
2015-07-19 20:14:34
阅读次数:
312
mysql中timestamp,datetime,int类型的区别与优劣
int
1. 占用4个字节
2. 建立索引之后,查询速度快
3. 条件范围搜索可以使用使用between
4. 不能使用mysql提供的时间函数
结论:适合需要进行大量时间范围查询的数据表
datetime
1. 占用8个字节
2. 允许为空值,可以自定义值,系统不会自动修改其值。
3. 实际...
分类:
数据库 时间:
2015-07-14 18:17:13
阅读次数:
150
好的数据结构,对于检索数据,插入数据的效率就会非常高。常见的数据结构B+树根节点和枝节点很简单,分别记录每个叶子节点的最小值,并用一个指针指向叶子节点。
叶子节点里每个键值都指向真正的数据块,每个叶子节点都有前指针和后指针,这是为了做范围查询时,叶子节点间可以直接跳转,从而避免再去回溯至枝和根节点。
特点:
1、有n棵子树的结点中含有n个关键字,每个关键字不保存数据,只用来索引,所有数据都保存...
分类:
其他好文 时间:
2015-07-04 09:40:12
阅读次数:
237
kd树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。
索引结构中相似性查询有两种基本的方式:一种是范围查询(range searches),另一种是K近邻查询(K-neighbor searches)。范围查询就是给定查询点和查询距离的阈值,从数据集中找出所有与查询点距离小于阈值的数据;K近邻查询是给定查...
分类:
其他好文 时间:
2015-06-13 17:11:27
阅读次数:
334
在mysql中,比如你的表的时间字段是column2,并且column2的类型是timestamp单日查询:select * from TableName where column1='xxxx' and date(column2)='2015-05-29'日期范围查询:select * from ...
分类:
数据库 时间:
2015-06-03 17:21:42
阅读次数:
148
情况一:查询类似 id>13 and id"这样的符号在xml文档中是有意义的,所以使用了这样的语句包起来转义Student类中的方法public IList SelectRange(Hashtable ht){ return mapper.QueryForList("SelectStuden...
分类:
Web程序 时间:
2015-05-24 12:43:39
阅读次数:
130
总概:ISAM树是一个静态索引结构,它在文件不频繁修改的情况下非常有效,但它不适合频繁增长和缩小的数据文件。B+树是一个能适应文件变化的动态结构,它是应用最广泛的索引结构,因为能有效的适应变化,支持等值搜索和范围查询。在ISAM和B+树结构中,叶子叶包含数据项,为了方便起见,将拥有搜索码到值K的数据...
分类:
其他好文 时间:
2015-05-07 23:29:06
阅读次数:
184