两个很长的IN或WHERE SQL语句,90,000行查询?

时间:2018-02-13 21:21:00

标签: mysql sql

所以我正在处理两个SQL语句,两者都是出于不同的目的,但我相信格式和解决方案应该是相同的,如果不是samilar

表中的主题是

subject                        | character varying           |

我正在处理的查询如下

SELECT user_id,
    c_id,
    list_id,
    s_time,
    subject
FROM ALL
WHERE send_time BETWEEN '2017-11-24 00:00:00'
        AND '2017-11-28 23:59:00'
    AND subject IN (
        '%Best Leftover Turkey Chili Ever - Black Friday Deals%',
        '%Flash Sale: CLOUD for just $0.37 for one week%',
        '%Save on Anywhere Teacher for Cyber Monday!%',
        '%Roy Moore Hoax Exposed%',
        '%Seamless security for small business - Sonicwall%',
        '%POINT PERFECTION! Old Vine M/Vale Shiraz $60 Now $16.99 Delivered. Parker 
    Rated It 92%',
        '%NEW The Town Apparel + FREE Ground Shipping!%',
        '%HOLY MOLY -  25% Off EVERYTHING + A $20 Gift Card?%',
        '%Free 2 Day Shipping %',
        '%The Dutch%',
        '%Black Friday and Cyber Monday Deal, SAVE NOW!%',
        '%Shop our biggest sale of the year.%',
        '%Appsclusive Week! Nintendo NES Classic Edition & More!?%',
        '%Black Friday continues!%',
        '%Twenty One Percent Off! Cyber Monday 2.0%',
        '%Lettre hebdo%',
        '%Thanks for your persistence%',
        '%Black Friday Sale Continues%',
        '%Cyber Monday Madness%',
        '%Black Friday Sale Ending%',
        '%%',
        '%%',
        '%%',
        '%%',
        '%%',
        );

我有一个查询有大约300个不同的随机行,如上所述我需要搜索。

但是我还有另外一个我需要搜索的大约90,000行,唯一的外卡就在前面

%.dragonflylabs.org
%.thedzifoundation.com
%.mapletoncomm.com
%.beevase.com

它将从名为URL的字段

进行搜索
url          | text                | YES  |     | NULL    |                |

有没有办法在某个文件中使用txt或csv文件导入或点击?或者我必须实际进行400次,然后是90,000次以上的查询?

两者都将被修改成georep,但最终我需要完成这部分并正确格式化,然后我才能将它带到那里。

1 个答案:

答案 0 :(得分:7)

您可以将您的90k行存储在一个名为SearchCriteria的单独表中,然后使用该表中的值动态构建查询。也可以导入到这样的表中(取决于你正在使用的图形化mysql客户端)。