有个两条select 哪个查询的效率高?
表:
审核表:
create table T_Auditing
(
F_TableName varchar(10) not null,
F_CustNo Varchar(15) not null,
F_SN integer default 0 not null,
F_Time smalldatetime default GetDate() not null,
F_assessor varchar(12) not null,
F_Result varchar(10) not null
primary key (F_TableName,F_CustNo,F_SN)
)
缴费表:
create table T_IncrementFee
(
F_CustNO varchar(15) not null,
F_SN integer not null default 1,
F_FeeItem varchar(20) Foreign key references T_ServeItem(F_FeeItem) not null,
F_Money money not null default 0,
F_GatheringDate smalldatetime not null default GetDate(),
F_Payee varchar(20) Foreign key references T_Personnel(F_name) not null,
F_Invoice varchar(12) not null default '00000000000',
F_Remark varchar(200)
primary key (F_custNO,F_SN)
)
A与B有个两条select 哪个查询的效率高?
A:
select TI.*,TA.* from T_IncrementFee TI,(select * from T_Auditing where F_TableName='初装费')
TA where TI.F_CustNo<>Ta.F_CustNo and TI.F_SN<>TA.F_SN
B:
select * from T_IncrementFee TI where TI.F_CustNo
not in(select F_CustNo from T_Auditing TA where TA.F_Tablename='初装费' and TA.F_SN=TI.F_SN)
and Ti.F_SN not in(select F_SN from T_Auditing TA where TA.F_Tablename='初装费' and TA.F_SN=TI.F_SN)