1.索引的原理
对列值排序存储(顺序/逆序存储),数据结构={列值、行地址}(快速查找,便于修改)。
在有序数据列表中就可以利用二分查找找到查找的行的地址,再根据直接取行数据。
数据结构
数组 便于查找,固定长,但不便于修改
链表 头 尾,不便于查找,便于修改
map hashmap concurrentHashMap
树 对链表的一个变形
二叉树(b+树) 中间节点50 ,比50小的节点放左边 ,比50大节点的放右边,
红黑树 根节点可以自动旋转变化的,深度均匀的
2.索引的排序
数值列
时间列 在数据库中存储的是时间戳 (毫秒数)数值
文本列 按照对应的数值来排序,存储的是0101010,根据文本的编码值来排序第一个字符,相同的字符依次按后边的字符排序
3.为什么需要搜索引擎
结论:数据库适合结构化数据的精确查询,而不适合半结构化,非结构化数据的模糊查询及灵活搜索(特别是数据量大时),无法提供想要的实时性
结构化数据:用表、字段表示的数据
半结构化的数据:xml html
非结构化的数据:文本、文档、图片、音频、视频等
4.如何才能实现快速检索
在这里插入代码片