Java高频面试题日更挑战「Day16」

索引失效的情况有哪些?

 like 以%开头索引无效,当 like 以&结尾,索引有效。

 or 语句前后没有同事使用索引,当且仅当 or 语句查询条件的前后列均为索引时,索引

生效。

 组合索引,使用的不是第一列索引时候,索引失效,即最左匹配规则。

 数据类型出现隐式转换,如 varchar 不加单引号的时候可能会自动转换为 int 类型,这

个时候索引失效。

 在索引列上使用 IS NULL 或者 IS NOT NULL 时候,索引失效,因为索引是不索引空值

得。

 在索引字段上使用,NOT、 <>、!= 、时候是不会使用索引的,对于这样的处理只会进

行全表扫描。

 对索引字段进行计算操作,函数操作时不会使用索引。

 当全表扫描速度比索引速度快的时候不会使用索引。

一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set 他们最多能存放多少元素?

理论上 Redis 可以处理多达 232 的 keys,并且在实际中进行了测试,每个实例至少存放

了 2 亿 5 千万的 keys。我们正在测试一些较大的值。任何 list、set、和 sorted set 都可

以放 232 个元素。换句话说,Redis 的存储极限是系统中的可用内存值。

Redis 数据结构 压缩列表和跳跃表的区别

 压缩列表(

ziplist)本质上就是一个字节数组,是 Redis 为了节约内存而设计的一种线性

数据结构,可以包含多个元素,每个元素可以是一个字节数组或一个整数。30

 跳跃表(

skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指

针,从而达到快速访问节点的目的。跳跃表支持平均 O(

logN)、最坏 O(N)复杂度

的节点查找,还可以通过顺序性操作来批量处理节点。

学习之路贵在坚持,关注我!

浩说编程陪你每天三道高频面试题,日积月累一定会有所收获!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容