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端。数据检索速度的提升是表创建了索引,索引是作用于对表的查询。
一.数据检索包括结构化数据检索和非结构化数据检索(跟数据库关联都是应用到了数据索引)
- 结构化数据检索(指具有固定格式或有限长度的数据,如:数据库,元数据)
应用的数据库索引:
如:唯一索引,单列索引,组合索引
- 非结构化数据检索(指不定长度或无固定格式的数据,如:邮件,word文档之内的)
应用的数据库索引:
如:全文索引(Java提供一些有关框架如:分布式数据检索ElesticSearch , 单机全文检索Solr )
对数据库的索引操作可以有两种方式(都是可以进行对索引的增删查改):
- 直接操作数据库(通过数据库管理软件DBMS,如:navicat)
- 由数据库连接代码操作 (通过封装库:如:ElasticSearch)
对于数据检索还有两个重要的东西,下面做介绍:
- 检索记录,对于功能实现是对检索记录的增删查改。
- 关键字,对于功能上也是增删查改。不管用那种方式实现数据检索,在数据库层面都有关键字匹配,数据量大时还有关键字匹配算法。如:(ElasticSearch match过程)
(本博客后期还会完善和修改,谢谢关注)
参考文章:
索引的应用:
https://blog.youkuaiyun.com/qq_32862391/article/details/54943993
索引的原理:
https://blog.youkuaiyun.com/suifeng3051/article/details/52669644/

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

被折叠的 条评论
为什么被折叠?



