求一条SQL 话语.效率最高

求一条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...
可以告诉我有更高效率的.语句么??

[解决办法]

探讨
900多条数据..只是执行select * from a, b where a.id = b.id就得用5秒左右..不能再快点么??ID我已经加索引了

[解决办法]
索引改一下
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'
[解决办法]
探讨
900多条数据..只是执行select * from a, b where a.id = b.id就得用5秒左右..不能再快点么??ID我已经加索引了

[解决办法]
为了说明,我把代码贴出来,你可以自己弄个示例数据库试试
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