使用SQL中文本文件中的术语,其中。。。在条款中
我正在使用使用SQL中文本文件中的术语,其中。。。在条款中,sql,mysql,file,where-clause,Sql,Mysql,File,Where Clause,我正在使用 ... where name in ("term1","term2","term3") 我想从每行一个术语的文本文件中获取术语列表。我该怎么做 如果这个术语列表变大了怎么办?例如,10公里。这是有效的还是我应该使用另一种方法?可能是临时表和连接?数据库是只读的。我认为最好将其读入专门用于此查找的临时表 通过这种方式,您可以索引表,并在子查询中使用内部联接/where通常使用where。。。在语句中,经过几百/千个术语后,语句变得非常慢 此外,如果该表是只读的,那么您将无法添加索引以
...
where name in ("term1","term2","term3")
我想从每行一个术语的文本文件中获取术语列表。我该怎么做
如果这个术语列表变大了怎么办?例如,10公里。这是有效的还是我应该使用另一种方法?可能是临时表和连接?数据库是只读的。我认为最好将其读入专门用于此查找的临时表
通过这种方式,您可以索引表,并在子查询中使用内部联接/where通常使用
where。。。在
语句中,经过几百/千个术语后,语句变得非常慢
此外,如果该表是只读的,那么您将无法添加索引以使其更快,因此,正如astander所说,我建议使用带有联接的临时表。我对MySQL不太熟悉,但我看到类似这样的情况,您可以按照问题中的建议在表中加载文本文件:-
LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, column2, column3);
然后使用连接获取数据
详细信息。我必须先创建t1表,对吗?如果数据库是只读的,我可以这样做吗?在SQL server中,您可以在另一个数据库中创建表,并使用DatabaseName..TableName符号从另一个(只读)数据库中读取。我不确定这在MySQL中是否可行。应该也有可能。不幸的是,这个公共MySQL服务器既不允许创建临时表也不允许创建数据库。谢谢大家,伙计们!我只是想接受这个问题,不要让它没有答案。因为所有的问题都是关于同一时间的,所以我接受这一个作为代码示例,并链接到详细信息?这两种方法都可以很好地使用,使用一点嵌套的循环madnessPerl就可以了。你能给出一段代码作为答案吗?