在400万行表上执行MySQL查询需要30分钟才能执行?

时间:2019-12-07 06:28:23

标签: c# mysql

我正在尝试清除队列列表中没有女孩名字的物品。我从PHP播种机开始,后来转向C#以提高速度-该表具有4M行。

快速记下,该表中已抽出许多项目,因此将名称列队,因此ID分散了,例如:可以从1,000跳到90,000,然后保持稳定。这有关系吗?

但是即使要计算我要删除的项目也要花费30分钟以上? GirlNames List包含大约1,000个项目。

这是代码

var commandText = "SELECT COUNT(null) FROM queue_items ";
var index = 0;

foreach (var girlsName in GirlsNames)
{
    commandText += (index == 0 ? "WHERE " : "OR") + " item LIKE '%" + girlsName.ToLower() + "%' ";
    index++;
}

connection.SetQuery(commandText);
Console.WriteLine(connection.ExecuteSingleInt() + " items loaded from query");

SQL应该是这样的(缩短):

SELECT COUNT(id) FROM queue_items WHERE item LIKE '%millie%' OR item like '%nicole%';

ExecuteSingleInt仅在MySqlCommand实例上运行_command.ExecuteScalar().ToString()

0 个答案:

没有答案