%w(a b c a c d).uniq
得到各个元素出现的个数:
count_hash = {}
%w(a b c a c d).each do |item|
key = item.to_sym
if count = count_hash[key]
count_hash[key] = count + 1
else
count_hash[key] = 1
end
end
作为主键,UUID长度过长,主键索引KeyLength长度过大,而影响能够基于内存的索引记录数量,进而影响基于内存的索引命中率,而基于硬盘进行索引查询性能很差。严重影响数据库服务器整体的性能表现。 建议,如果考虑分布式,可以仿造MongoDB建立索引,能有效实现服务器同步,KeyLength也很小。如果使用UUID进行数据同步管理,需要对UUID字符串进行Djb的Hash算法,然后对Int/Long类型的哈希数值进行索引。第一次检索,通过UUIDHashCode将结果集范围缩小,再使用UUID定位具体数据。这样性能能高很多。使用Int类型的ID作为主键。UUID不作为主键,而仅作为数据同步的标记字段被使用。