分页优化

优化分页limit 通常我们在分页的时候,通常使用的是limit 50, 10这种语句。数据少还不错,但是当数据偏移量非常大的时候,性能就会出现问题,例如select xx,xxx from test_table limit 100000020, 20。扫描了100000020条数据,才返回20条数据。 这个时候我们可以用一下两种方式来优化: 利用between and和主键索引 利用主键自增id … 继续阅读

哈希冲突

哈希冲突 由于哈希算法被计算的数据是无限的,而计算后的结果范围有限,因此总会存在不同的数据经过计算后得到的值相同,这就是哈希冲突。 简言之,不同的输入,经过哈希函数计算,得到相同的哈希值,这就是哈希冲突了。 解决冲突 解决哈希冲突的方法一般有:开放定址法、链地址法(拉链法)、再哈希法、建立公共溢出区等方法。 2.1 开放定址法 从发生冲突的那个单元起,按照一定的次序,从哈希表中找到一个空闲的单元。 … 继续阅读

哈希函数(Hash)

Hash 哈希函数 Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。 这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 简言之:把任意长度的 … 继续阅读