আমি এসকিউএল সার্ভার 2008 আর 2 ব্যবহার করছি
আমি কেবল এসকিউএল-এ আবেদন করেছি এবং পছন্দ করেছি যে এটি কীভাবে এতগুলি সমস্যার সমাধান করে,
ফলাফল পেতে আমি 2 টি বাম জোড় ব্যবহার করছিলাম এমন অনেকগুলি সারণী, আমি 1 বহিরাগত প্রয়োগ পেতে সক্ষম হয়েছি।
আমার স্থানীয় ডিবি টেবিলগুলিতে আমার অল্প পরিমাণে ডেটা রয়েছে এবং স্থাপনার পরে কোডটি কমপক্ষে 20 গুণ বড় ডেটাতে চালিত হওয়ার কথা।
আমি উদ্বিগ্ন যে বহিরাগত প্রয়োগে বিপুল পরিমাণে ডেটার জন্য 2 বামে যোগদানের শর্তের চেয়ে বেশি সময় নিতে পারে,
যে কেউ কীভাবে ঠিকভাবে কাজ করে এবং কীভাবে এটি খুব বড় ডেটাতে পারফরম্যান্সকে প্রভাব ফেলবে তা বলতে পারে, যদি সম্ভব হয় তবে প্রতিটি টেবিলের আকারের সাথে কিছু আনুপাতিক সম্পর্ক যেমন আনুপাতিক যেমন এন 1 ^ 1 বা এন 1 ^ 2 ... যেখানে এন 1 টেবিলের সারি সংখ্যা 1।
2 টি বাম যোগ দিয়ে কোয়েরি এখানে দেওয়া আছে
select EC.*,DPD.* from Table1 eC left join
(
select member_id,parent_gid,child_gid,LOB,group_gid,MAX(table2_sid) mdsid from Table2
group by member_id,parent_gid,child_gid,LOB,group_gid
) DPD2 on DPD2.parent_gid = Ec.parent_gid
AND DPD2.child_gid = EC.child_gid
AND DPD2.member_id = EC.member_id
AND DPD2.LOB = EC.default_lob
AND DPD2.group_gid = EC.group_gid
left join
Table2 dpd on dpd.parent_gid = dpd2.parent_gid
and dpd.child_gid = dpd2.child_gid
and dpd.member_id = dpd2.member_id
and dpd.group_gid = dpd2.group_gid
and dpd.LOB = dpd2.LOB
and dpd.table2_sid = dpd2.mdsid
এখানে বাইরের প্রয়োগের সাথে ক্যোয়ারী দেওয়া হচ্ছে
select * from Table1 ec
OUTER APPLY (
select top 1 grace_begin_date,retroactive_begin_date,Isretroactive
from Table2 DPD
where DPD.parent_gid = Ec.parent_gid
AND DPD.child_gid = EC.child_gid
AND DPD.member_id = EC.member_id
AND DPD.LOB = EC.default_lob
AND DPD.group_gid = EC.group_gid
order by DPD.table2_sid desc
) DPD