Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 检查表X中是否有35K+行且有700000+行的有效方法?_Sql_Oracle - Fatal编程技术网

Sql 检查表X中是否有35K+行且有700000+行的有效方法?

Sql 检查表X中是否有35K+行且有700000+行的有效方法?,sql,oracle,Sql,Oracle,我有35K+的记录,比如平面文件中的A列。我必须检查这些记录是否已经存在于表X中,表X中有700000多条记录 列A不是表X中的索引列。我在平面文件中没有任何列在X中被索引。 -我不能在SELECT中使用IN运算符,因为对于35+条记录来说,这不是一个可行的选项,而且成本高昂,限制为1K -所有记录都有一个相似的模式,所以我尝试在SELECT中使用LIKE操作符进行模式匹配,但效率非常低。X中具有类似模式的记录数为120000+ -我没有CREATETABLE特权,无法插入新表和进行减法等操作

我有35K+的记录,比如平面文件中的A列。我必须检查这些记录是否已经存在于表X中,表X中有700000多条记录

列A不是表X中的索引列。我在平面文件中没有任何列在X中被索引。 -我不能在SELECT中使用IN运算符,因为对于35+条记录来说,这不是一个可行的选项,而且成本高昂,限制为1K -所有记录都有一个相似的模式,所以我尝试在SELECT中使用LIKE操作符进行模式匹配,但效率非常低。X中具有类似模式的记录数为120000+ -我没有CREATETABLE特权,无法插入新表和进行减法等操作

我是甲骨文的新手,如果这个问题很幼稚,我很抱歉。此外,我搜索了类似的问题,但没有找到非索引列的答案


有人能帮我吗?

平面文件是指像CSV或TSV这样的文本文件?若它只是一个文本文件,那个么将它加载到数据库中。也许您可以为此作业创建一个临时表。然后可以使用以下查询:

select * 
from x
where (c1, c2, ...) in (select c1, c2, ... from a);

您可以发布一些代码吗?如果一行不存在,您可以快速退出吗?从“……”中的X中选择*;选择count*from X,其中类似于“PRZ%”-116281。您获得创建表权限可能比我们在这方面帮助您更容易。您是否尝试过不存在或加入?当然,平面文件应该通过SQLLDR或外部加载TABLES@RenéNyffenegger我说服我的DBA允许我创建表访问,然后使用签入。谢谢大家的帮助。