ホームページ > データベース > mysql チュートリアル > mssql 如何提高数据库关联查询性能

mssql 如何提高数据库关联查询性能

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-07 17:47:24
オリジナル
1189 人が閲覧しました

mssql 如何提高关联查询性能

--> 测试数据:[a1]
if object_id('[a1]') is not null drop table [a1]
create table [a1]([id] int,[sortid1] int,[sortid2] int,[info] varchar(5))
insert [a1]
select 1,1,3,'info' union all
select 2,2,4,'info2'

--> 测试数据:[b2]
if object_id('[b2]') is not null drop table [b2]
create table [b2]([sortid] int,[name] varchar(5))
insert [b2]
select 1,'分类1' union all
select 2,'分类2' union all
select 3,'分类3' union all
select 4,'分类4'

select * from [a1]
select * from [b2]


select a1.id,sortid1,b2.name,a1.sortid2,b.name,a1.[info]
from dbo.a1
left join b2 on a1.sortid1 = b2.sortid
left join b2 b on a1.sortid2 = b.sortid

/*
id          sortid1     name  sortid2     name  info
----------- ----------- ----- ----------- ----- -----
1           1           分类1   3           分类3   info
2           2           分类2   4           分类4   info2

(2 行受影响)
*/

原始方法

select id,rortid1,b.name as name1 , sortid2,c.name as name2,info
from a left join b on a.rortid1=b.rortid
left join b c on  a.rortid2=b.rortid

比较实用的方法

视图可以简化操作,不能提高性能。可以尝试建立索引视图

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート