我正在尝试清除队列列表中没有女孩名字的物品。我从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()
。