CREATE TABLE [tbA] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[code1] [varchar] (50) ,
[code2] [varchar] (50)  ,
CONSTRAINT [PK_tbA] PRIMARY KEY  CLUSTERED 
(
[id]
)  ON [PRIMARY] 
) ON [PRIMARY]
GOCREATE TABLE [tbB] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[code] [varchar] (50)  ,
CONSTRAINT [PK_tbB] PRIMARY KEY  CLUSTERED 
(
[id]
)  ON [PRIMARY] 
) ON [PRIMARY]
GO
insert into tbA(code1,code2) values('A00001','DS00001')
insert into tbA(code1,code2) values('A00010','DS00002')
insert into tbA(code1,code2) values('A02001','DS00005')
insert into tbA(code1,code2) values('A02002','DS00011')
insert into tbA(code1,code2) values('A33012','DS00015')
insert into tbB(code) values('A00001')
insert into tbB(code) values('DS00005')
如上面的两个表,tbA中的code1与code2建立了索引,code1的数据是不重复的,code2的数据也是不重复的,code1的数据与code2也不重复,;tbB的code建立了索引,code也不重复。
现在taA有100万条数据,tbB有10万条数据我的查询语句select b.*,a.* from tbB b,tbA a where b.code=a.code1 or b.code=a.code2这样查询出来 时间是30秒,是否太慢?语句可否优化,表设计可否优化?