从t_a删除,其中t_a.id位于('1','2','3')
或
从t_a删除t_a.id ???
答案 0 :(得分:1)
delete from t_a where t_a.id in ('1', '2', '3')
答案 1 :(得分:1)
delete from t_a where t_a.id in ('1', '2', '3')
VS
delete from t_a where t_a.id = '1';
delete from t_a where t_a.id = '2';
delete from t_a where t_a.id = '3';
如果您在id列上有索引,效率几乎相同。
如果您没有id列的索引,第一个会更快,因为第一个会在t_a表上执行单个完整扫描,第二个方法会执行三次完整扫描。
只为了这个想法:如果你把表t_a索引组织起来,你会得到最好的效率:
CREATE TABLE t_a
(
id NUMBER,
col2 VARCHAR2(10),
CONSTRAINT id_pk
PRIMARY KEY
(id)
)
ORGANIZATION INDEX;
但是你应该小心使用它(首先记录)。
答案 2 :(得分:0)
你有什么意见?您想比较这两种方法,以便更快地删除规则中的数据或什么?