Android和Java之数据检索(应用和原理)

本文深入探讨数据检索技术,包括结构化和非结构化数据检索,重点讲解索引的使用,如B+树、全文索引等,以及在Android和Java平台上的应用,涉及SQLite、MySQL、Oracle、Solr和ElasticSearch等数据库。

Android和Java之数据检索

如果关注了本人的博客,前面有一篇这样的博客,讲述是:Java单机模式下重要的两个知识点(数据检索和并发线程)

https://blog.youkuaiyun.com/zh_android/article/details/90721884  这里我们来详细谈谈数据检索。

这篇博客的数据检索是相对于关系型数据库,底层是关系型数据库的索引,数据结构是树型结构,算法是如:B+树

用索引的目的是为了提升查询速度。我们可以在相应的数据库基础上创建索引。

Android端的关系型数据库是,如:SQLite。Java端的数据库是如:MySQL和Oracle

Android端的封装框架,如:OrmLite,GreenDAO

Java端的封装框架,如:Lucene,Solr,ElasticSearch   (Solr和ElasticSearch都是基于Lucene,只是Lucene是基于jar包建立项目,Solr和ElasticSearch是基于服务建立项目)

不论是Android端,还是Java端。数据检索速度的提升是表创建了索引,索引是作用于对表的查询。

一.数据检索包括结构化数据检索和非结构化数据检索(跟数据库关联都是应用到了数据索引)

  1. 结构化数据检索(指具有固定格式或有限长度的数据,如:数据库,元数据)

       应用的数据库索引:

                如:唯一索引,单列索引,组合索引

  1. 非结构化数据检索(指不定长度或无固定格式的数据,如:邮件,word文档之内的)

       应用的数据库索引:

                如:全文索引(Java提供一些有关框架如:分布式数据检索ElesticSearch ,  单机全文检索Solr   )

 

对数据库的索引操作可以有两种方式(都是可以进行对索引的增删查改):

  1. 直接操作数据库(通过数据库管理软件DBMS,如:navicat)
  2. 由数据库连接代码操作 (通过封装库:如:ElasticSearch)

 

对于数据检索还有两个重要的东西,下面做介绍:

  1. 检索记录,对于功能实现是对检索记录的增删查改。
  2. 关键字,对于功能上也是增删查改。不管用那种方式实现数据检索,在数据库层面都有关键字匹配,数据量大时还有关键字匹配算法。如:(ElasticSearch match过程)

(本博客后期还会完善和修改,谢谢关注)

参考文章:

索引的应用:

https://blog.youkuaiyun.com/qq_32862391/article/details/54943993

索引的原理:

https://blog.youkuaiyun.com/suifeng3051/article/details/52669644/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Frank浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值