0
私のプロダクションクエリには、大きなテキスト列を持つselectを使って10個の結合があります。 問題は、いくつかの検索で8mb以上のデータが返されることです。結合のために重複したデータから7mbです。上記の画像のようなものですが、はるかに大きくなります。結合時の冗長データを減らすための戦略
テーブル構造の私の例:
create table A (
Id int primary key identity(1,1),
Value varchar(100)
)
create table B(
Id int primary key identity(1,1),
AId int,
Value varchar(100)
)
create table C(
Id int primary key identity(1,1),
BId int,
Value varchar(100)
)
挿入:
insert into A values ('value A1')
insert into A values ('value A2')
insert into A values ('value A3')
insert into B values(1, 'value B1')
insert into B values(1, 'value B2')
insert into B values(1, 'value B3')
insert into C values(1, 'value C1')
insert into C values(1, 'value C2')
insert into C values(1, 'value C3')
にはどうすればいいの同じ性能とスマートな方法で、必要なデータのみを返すことができます参加したり、より良いです?
コマンドは、クエリを実行するために使用されました:
select * from A
left join B on A.Id = B.AId
left join C on C.BId = B.Id
where A.Id = 1
あなたが持っている私たちに伝えるために、あなたがデータを何をしたい形式を私たちは本当にその情報を提供することはできません。 –
テーブルはどのように関連していますか?通常、 'join'に重複レコードが含まれているのは、' join'に含める必要があるフィールドを見落としたからです。 – alroc
@ GordonLinoff私はちょうど赤でマークされたデータを避けたい – MuriloKunze