当前位置: 首页 > news >正文

做网站 科目智能搜索引擎

做网站 科目,智能搜索引擎,做电子网站,贵阳网站建设网站制作MySQL索引B树、全文索引、哈希索引 注意:B树中B不是代表二叉树(binary),而是代表平衡(balance),因为B树是从最早的平衡二叉树演化而来,但是B树不是一个二叉树。 B树的高度一般在2~…
  1. MySQL索引B+树、全文索引、哈希索引

注意:B+树中B不是代表二叉树(binary),而是代表平衡(balance),因为B+树是从最早的平衡二叉树演化而来,但是B+树不是一个二叉树。

B+树的高度一般在2~4层,因此每次查询最多只需要2~4次IO。

1. B+树索引(BTREE)

特点:

B+树是一种自平衡的多路搜索树,它是一种高度平衡的结构,保证从根节点到任意叶子节点的路径长度几乎相等,从而保证了查询效率相对稳定。

B+树索引的所有数据都存储在叶子节点,并且叶子节点之间通过双向链表连接,形成了一个有序的数据集合。

支持范围查询、排序和分组操作,因为叶子节点是有序排列的。

可以是单列索引或多列索引(复合索引),并遵循最左前缀匹配原则,即在查询时,如果查询条件包含了复合索引的最左边部分列,就能利用索引进行高效查询。

适用于大部分查询场景,特别是等值查询、范围查询以及基于索引列的排序和分组。

优点:

查询效率较高,尤其是对于范围查询和有序结果集的获取。

能够处理大量数据,因为B+树的高度较低,即使数据量很大,查询深度也不会过高。

缺点:

对于非常小的数据集,建立和维护B+树索引可能比直接全表扫描更耗时。

对于等值查询,如果键值分布不均匀导致哈希冲突较少,哈希索引可能更快。

2. 全文索引

特点:

全文索引主要用于对文本类型的字段(如VARCHAR、TEXT)进行全文本搜索,能够处理复杂的查询条件,如包含某个词语或短语、近似匹配、词干提取等。

MySQL的全文索引通常基于倒排索引实现,即为每个单词建立一个索引项,记录下包含该单词的所有文档(在数据库中对应为记录)的列表及位置信息。

通常用于大型文本数据的全文检索,如博客文章、产品描述、文献资料等。

优点:

非常适合进行复杂文本内容的模糊查询和关键词搜索。

提供了对文本数据的高效过滤能力,显著减少针对文本字段进行LIKE '%keyword%'这类操作时的全表扫描。

缺点:

创建和维护全文索引需要消耗额外的空间和时间资源。

索引更新时有延迟,对于实时性要求较高的场景可能不合适(可通过手动刷新解决)。

对查询语法有一定要求,需要使用MATCH AGAINST语句,而非普通的WHERE子句。

对于短词、停用词(如“的”、“是”等常见词汇)的处理可能不够精确,可能需要配合语言分析器和定制化配置。

3. 哈希索引(HASH)

特点:

哈希索引基于哈希表实现,通过哈希函数将键值转换为固定长度的哈希值,然后通过哈希值直接定位到对应的记录。

主要适用于等值查询,查询效率极高,只需一次哈希计算即可找到相应记录(假设没有哈希冲突)。

不支持范围查询、排序和分组操作,因为哈希索引并不保持键值的有序性。

对于键值唯一性高的列(如唯一标识符),哈希索引效果尤为出色。

通常用于内存型存储引擎(如MEMORY引擎)或者InnoDB引擎的自适应哈希索引(Adaptive Hash Index,AHI)。

优点:

等值查询性能极高,尤其在键值分布均匀且唯一性强的情况下。

查找时间复杂度接近O(1),在理想情况下能提供极快的查询速度。

缺点:

只适用于等值查询,无法处理范围查询、排序和分组。

如果键值分布不均导致哈希冲突较多,性能会下降,尤其是在存在大量重复键值的情况下。

不支持部分索引列的匹配(如复合索引的部分列查询)。

哈希索引不存储原始键值,只存储哈希值和行指针,因此不能避免对数据行的访问来获取完整数据。

 如果大家需要视频版本的讲解,欢迎关注我的B站:

http://www.dinnco.com/news/12234.html

相关文章:

  • 网站基本设置南京seo关键词排名
  • 个人免费网站如何做百度竞价推广开户费用
  • 网站优化怎样做上海网站快速排名提升
  • 织梦网站广告代码如何写广州seo网络推广员
  • 做网站市场大不大今天疫情最新消息
  • 企业全网推广绍兴seo网站推广
  • 做网站免责声明色盲测试图免费测试
  • 高青外贸公司网站建设百度手机助手安卓版
  • 郑州市做网站媒体发稿公司
  • 写网页的软件有一个叫hb贵港网站seo
  • 智能建站代理网络营销公司排行
  • 阿里云网站建设认证答案有没有推广app的平台
  • 个人如何建设电子商务网站国外产品推广平台
  • jsp动态网站开发考试推广一般收多少钱
  • 濮阳机械设备企业网站建设如何注册百度账号
  • 网站制作技术网站快速优化排名推荐
  • 深圳网页设计推广服务无锡百度关键词优化
  • 在欣欣网上做网站效果如何利尔化学股票股吧
  • 网站推广工作好做吗谷歌广告代理
  • 网站建设制作设计营销公司四川万网查询
  • 代理加盟网站企业邮箱怎么注册
  • 做网站公司常熟友情链接交易网
  • 重庆免费做网站谷歌网页版入口在线
  • 做网站设计师能10年赚100万吗咸阳网站建设公司
  • c 如何做公司网站可以看国外网站的浏览app
  • 湖南网站建设 安全还踏实磐石网络qq引流推广软件免费
  • 清远医院网站建设费用抖音广告代运营
  • 网站建设安全性指标什么是关键词排名优化
  • 区块链技术和网站开发结合关键词搜索技巧
  • 深圳网站设计公司设计网络营销百度百科