我有一个表,该表将有很多记录(百万)。当“ .._ ups”值之一设置为0时,我需要检查该记录的所有其他“ ups”类型是否也均为0,然后将其删除。发生这种情况是因为用户可以取消其特定类型的“ ups”,但不能取消其他类型的“ ups”。如果他们取消每种类型的“上”,我想删除该记录。
time_unit
字段是一个每5分钟更改一次的时间单位。因此,每个投票都记录了它所属的time_unit
。
仅搜索(删除)该时间单位的选票,或搜索(删除)(可能很大的)表中的所有选票,效率更高吗?我计划索引time_unit
。我很难测试一下,因为我还没有记录。
查询1
DELETE FROM ups
WHERE time_unit = $tuid AND big_ups = 0 AND sol_ups = 0 AND blue_ups = 0;
或
查询2
DELETE FROM ups
WHERE big_ups = 0 AND sol_ups = 0 AND blue_ups = 0;