问题描述
具体需求是这样的:客户上传一个文件,取出文件内容。与数据库中的内容对比数据量1W个左右比如说文件内容idnameagetel等表idnameagetel等(id是唯一)需要查询的表,不值一个表,需要连表查询。但ID是唯一的由取得文件的id查询查数据库的id然后与文件的name,age,tel与查询出来的对比。如果一个IDname不同就得到一条不同的记录如果一个IDname,age都不同就得到两条记录数据库是oracle,需要查询的几张表中,有个别表数据比较多。怎么优化流程?提高效率?请教了
解决方案
解决方案二:
肯定不能用程序比较,应该用sql查询语句搞定。如果一个IDname不同就得到一条不同的记录如果一个IDname,age都不同就得到两条记录可以把id、name、age当作条件到数据库中查询,有数据就重复。没有数据就不是重复的。
解决方案三:
不好意思,可能是我没表达清楚。如果简单的实现就应该这样用通过文件得来的id作为条件到数据库中查询,得到这个id对应的name,age然后与文件的name,age对比。如果有一个字段不同就产生一条不同的记录,这记录集要返回给客户看。代码实现的话很简单。关键是效率问题因为上传的是一个文件,文件里有很多行数据。数据量以1W作为例子。
解决方案四:
建索引啊。。这是最基本的查询就靠数据库的性能了好像也没啥可以提高效率的1w行的查询量对oracle来说应该算不了什么效率问题最有可能出在IO啊字符串处理啊什么的方面
解决方案五:
貌似也没啥好提高效率的,以ID,name,age三个字段做索引,每次按这三个条件去查询,以1w条数据量来算,查询1万次。
解决方案六:
不是1W行的查询量,是1W次的查询的量。
时间: 2024-11-16 22:00:32