求一条SQL 语句..效率最高A中有ID联系人10591a10592b10593c10594d10600eB中有ID联系方式10591138....10593
求一条SQL 语句..效率最高
A中有
ID 联系人
10591 a
10592 b
10593 c
10594 d
10600 e
B中有
ID 联系方式
10591 138....
10593 139....
10594 138....
10595 138....
10600 150....
select * from a, b where a.id = b.id and b.id like '10459%'
得到结果
ID 联系人 联系方式
10591 a 138...
10593 b 139...
10594 d 138...
可以告诉我有更高效率的.语句么??
[解决办法]
[解决办法]
索引改一下
CREATE NONCLUSTERED INDEX NIX_1 ON A(ID) INCLUDE (联系人)
CREATE NONCLUSTERED INDEX NIX_2 ON B(ID) INCLUDE (联系方式)
语句把*改成ID,联系人,联系方式
SELECT ID,联系人,联系方式
FROM A INNER JOIN B ON a.id = b.id and b.id >= '10459' and b.id < '10460'
[解决办法]
[解决办法]
为了说明,我把代码贴出来,你可以自己弄个示例数据库试试
1、建表
- SQL code
USE TempDBGOCREATE TABLE b1 (blat1 nCHAR(5) NOT NULL)CREATE TABLE b2 (blat2 VARCHAR(200) NOT NULL)GOINSERT b1SELECT LEFT(AddressLine1, 5) AS blat1 FROM AdventureWorks.Person.AddressINSERT b2SELECT AddressLine1 AS blat2FROM AdventureWorks.Person.AddressGO
