অভ্যন্তরীণ বনাম বনাম যেখানে যোগদান করুন


257

পারফরম্যান্স (ওরাকল মধ্যে) মধ্যে পার্থক্য আছে কি

Select * from Table1 T1 
Inner Join Table2 T2 On T1.ID = T2.ID

এবং

Select * from Table1 T1, Table2 T2 
Where T1.ID = T2.ID

?


1
কেবল রেকর্ডের জন্য, আমি দেখেছি ক্যোয়ারীগুলি কেবলমাত্র একটি যোগ থেকে একটি দলে পরিবর্তনের মাধ্যমে বিভিন্ন ফলাফল প্রত্যাবর্তন করতে পারে
ব্ল্যাকটাইজারএক্স

12
@ ব্ল্যাকটাইগারএক্স: বিভিন্ন ফলাফল? এর সাথে কি কোনও বাইরের যোগদানের যোগ ছিল? কারণ আমি দেখতে পাচ্ছি না যে inner join ... onক্লাজে সমতুল্য জোয়ার মাপদণ্ডের বিপরীতে বনামের মধ্যে কীভাবে আলাদা ফলাফল হবে where
শ্যানন সিভেনেন্স

ওরাকল ডাটাবেসের পুরাতন সংস্করণে উপস্থিত নেইjoin
মজিদতাহারি 24:58

2
@ মজিদতাহেরি: ওরাকল এর কতটা সংস্করণ নিয়ে কথা বলছেন? ওরাকল দ্বারা সমর্থিত কোনও সংস্করণ JOIN স্বীকৃতি সমর্থন করে।
জোনাথন লেফলার

তুচ্ছ মামলার উপর ভিত্তি করে সাধারণ উত্তর বা সেরা অনুশীলনগুলি সন্ধান করুন। আরও জটিল সহ একটি "পুনরায় ম্যাচ" দেখতে চান যেখানে একাধিক ও'এন্ড শর্তযুক্ত জড়িত ধারাগুলি। কমপক্ষে এসকিউএল সার্ভারের সাথে একটি ক্রসওভার পয়েন্ট রয়েছে।
ক্রোকুসেক

উত্তর:


195

না! একই কার্যকরকরণ পরিকল্পনা, এই দুটি টেবিল দেখুন:

CREATE TABLE table1 (
  id INT,
  name VARCHAR(20)
);

CREATE TABLE table2 (
  id INT,
  name VARCHAR(20)
);

অভ্যন্তরীণ যোগদানটি ব্যবহার করে ক্যোয়ারির জন্য সম্পাদনের পরিকল্পনা:

-- with inner join

EXPLAIN PLAN FOR
SELECT * FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.id;

SELECT *
FROM TABLE (DBMS_XPLAN.DISPLAY);

-- 0 select statement
-- 1 hash join (access("T1"."ID"="T2"."ID"))
-- 2 table access full table1
-- 3 table access full table2

এবং WHERE ক্লজটি ব্যবহার করে ক্যোয়ারীর জন্য কার্যকর করার পরিকল্পনা।

-- with where clause

EXPLAIN PLAN FOR
SELECT * FROM table1 t1, table2 t2
WHERE t1.id = t2.id;

SELECT *
FROM TABLE (DBMS_XPLAN.DISPLAY);

-- 0 select statement
-- 1 hash join (access("T1"."ID"="T2"."ID"))
-- 2 table access full table1
-- 3 table access full table2

4
আমি ওরাকল থেকে কোনও সরকারী নথি আছে কিনা তা দেখতে সত্যিই দেখতে চাই
4 কভার

68

যদি ক্যোয়ারী অপ্টিমাইজার সঠিকভাবে কাজ করে তবে এই প্রশ্নের মধ্যে কোনও পার্থক্য থাকা উচিত। একই কাঙ্ক্ষিত ফলাফল নির্দিষ্ট করার জন্য তারা দুটি উপায়।


22
হ্যাঁ, পারফরম্যান্স একই হওয়া উচিত। তবে টেবিল 1 থেকে টেবিল 2 নির্বাচন করুন, টেবিল 2 যেখানে ... সিনট্যাক্সটি ILভিল!
জোয়েল কোহোর্ন

2
এসকিউএল -২৯ সিনট্যাক্সের চেয়ে অভ্যন্তরীণ যোগদানের পক্ষে উপলব্ধি করা আমার পক্ষে অনেক সহজ find আপনার মাইলেজ পরিবর্তিত হতে পারে.
ক্রেগ ব্যবসায়ী

25
আমি আধ্যাত্মিক জিয়ান-এর চেয়ে ভার্চুয়াল বাক্যটি সহজেই পড়তে পেলাম - আমার ধারণা এটি ভেগামাইটের মতো like বিশ্বের বেশিরভাগ লোককে সম্ভবত এটি ঘৃণ্য মনে হয় তবে বাচ্চারা এটিকে খাওয়া পছন্দ করে।
স্কটচের

3
Vegemite আসলেই বাজে, তবে আবার আমি স্ক্র্যাপল পছন্দ করি। চিত্রে যান.
স্টিংজি জ্যাক

2
@ ড্যারিল আমার মনে হয় এইগুলি JOINপড়া সহজ হয়েছে কারণ টেবিলগুলিতে যোগদানের শর্তটি সেখানে "কোথাও" এর পরিবর্তে তত্ক্ষণাত সংজ্ঞায়িত করা হয়েছে WHERE। টেবিলগুলি একে অপরের সাথে কীভাবে সম্পর্কিত WHERE(উদাহরণস্বরূপ WHERE DATE > (SYSDATE - 1)) এটি নির্ধারণ করার পরিবর্তে আমি ডেটাসেট (উদাহরণস্বরূপ ) সীমাবদ্ধ করার জন্য ক্লজটি সংরক্ষণ করতে পছন্দ করি WHERE T1.ID = T2.ID। প্রশ্নের উদাহরণের মতো একটি ছোট টেবিলের জন্য সামান্য পার্থক্য তৈরি করে তবে বেশ কয়েকটি টেবিল এবং কয়েকটি শর্তযুক্ত জড়িত বৃহত প্রশ্নের জন্য আমার মনে হয় এটি কোয়েরিটি বোঝার পক্ষে আরও সহজ করে তুলেছে।
কালিরিয়ানহিউম্যান072889

61

তারা ঠিক একই হওয়া উচিত। তবে কোডিং অনুশীলন হিসাবে আমি বরং যোগদানটি দেখতে চাই see এটি আপনার উদ্দেশ্যকে স্পষ্টভাবে স্পষ্ট করে,


8
আমি রাজী. বিশেষত আপনি যদি একাধিক টেবিলগুলিতে যোগদান করছেন তবে আপনি স্পষ্টভাবে যোগ দিলে একটি নির্বাচিত বিবৃতি পার্স করা অনেক সহজ।
পল মরি

13
প্রকৃতপক্ষে. দুটি সেট ডেটার মধ্যে সিন্থেটিক সম্পর্কের প্রতিনিধিত্ব করে তবে একটি ফিল্টার করা সেট প্রস্তাব করে। +1
একুশতম Unক্যবদ্ধ

26

ব্যবহার JOINকোডটি স্ব-বর্ণনামূলক, যেহেতু কোডটি পড়া সহজ তোলে

গতির কোনও পার্থক্য নেই ( আমি এটি কেবল পরীক্ষা করেছি ) এবং কার্যকর করার পরিকল্পনাটি একই।


ধন্যবাদ. আমি এই দুটি পদ্ধতির মধ্যে গতি সংকোচনের সন্ধান করছিলাম।
ফরহাদ নাব্যযদান

14

আমি ওরাকল সম্পর্কে জানি না তবে আমি জানি যে পুরাতন বাক্য গঠনটি এসকিউএল সার্ভারে অবচিত হয়ে চলেছে এবং শেষ পর্যন্ত অদৃশ্য হয়ে যাবে। আমি নতুন ক্যোয়ারিতে সেই পুরানো সিনট্যাক্সটি ব্যবহার করার আগে আমি ওরাকল এটির সাথে কী করার পরিকল্পনা করে তা পরীক্ষা করে দেখব।

আমি শর্তগুলির সাথে অন্যান্য প্রয়োজনীয় প্রয়োজনের সাথে যোগদানের মানদণ্ডের মিশ্রণের চেয়ে আরও বেশি নতুন সিনট্যাক্স পছন্দ করি। নতুন সিনট্যাক্সে এটি অনেকটা পরিষ্কার হয়ে যায় যে কোনটি যুক্ত হতে পারে এবং কী কী শর্ত প্রয়োগ করা হচ্ছে। এর মতো একটি সংক্ষিপ্ত ক্যোয়ারিতে আসলেই কোনও বড় সমস্যা নয়, তবে আপনার আরও জটিল প্রশ্ন থাকলে এটি আরও বিভ্রান্তিকর হয়ে ওঠে। যেহেতু লোকেরা মৌলিক প্রশ্নের উপর শিখছে, তাই আমি কোনও জটিল প্রশ্নের মধ্যে প্রয়োজন হওয়ার আগে লোকেরা যুক্ত সংশ্লেষটি ব্যবহার করতে শেখার পছন্দ করব।

এবং আবার আমি বিশেষভাবে ওরাকলকে জানি না, তবে আমি জানি যে পুরাতন স্টাইলের বাম সংযুক্তির এসকিউএল সার্ভার সংস্করণটি এসকিউএল সার্ভার 2000-তেও ত্রুটিযুক্ত এবং অসামঞ্জস্যপূর্ণ ফলাফল দেয় (কখনও কখনও একটি বাম জোড় কখনও কখনও ক্রস জয়েন হয়), তাই এটি কখনই হওয়া উচিত নয় ব্যবহার করা হয়েছে। আশা করি ওরাকল একই সমস্যা ভুগছেন না, তবে অবশ্যই বাম এবং ডান মিলনগুলি পুরানো বাক্য বাক্যটিতে সঠিকভাবে প্রকাশ করা আরও কঠিন হতে পারে।

এছাড়াও এটি আমার অভিজ্ঞতা হয়েছে (এবং অবশ্যই এটি কঠোরভাবে একটি ব্যক্তিগত মতামত, আপনার পৃথক পৃথক অভিজ্ঞতা থাকতে পারে) যে এএনএসআইআই স্ট্যান্ডার্ড ব্যবহার করে এমন বিকাশকারীদের একটি যোগদান কী কী এবং এটি পাওয়ার ক্ষেত্রে কী বোঝায় তার আরও ভাল ধারণা থাকতে পারে? ডাটাবেস বাইরে তথ্য। আমি বিশ্বাস করি যে বেশিরভাগ ভাল ডাটাবেস বোঝার মানুষকে আরও জটিল প্রশ্ন লিখতে থাকে এবং এগুলি পুরানো শৈলীর চেয়ে এএনএসআইআই স্ট্যান্ডার্ডকে বজায় রাখা আমার কাছে অনেক সহজ বলে মনে হয়।


1
আমেন ভাই। যোগদানকারীদের সাথে নিচে !!
স্কটচের

14

[বোনাস পয়েন্টের জন্য ...]

JOIN সিনট্যাক্স ব্যবহার করে আপনি যুক্তটিকে আরও সহজেই একটি লাইনে অন্তর্ভুক্ত হিসাবে মন্তব্য করতে পারবেন। এই পারেআপনি যদি কোনও জটিল কোয়েরি ডিবাগ করছেন তবে পারে

অন্য প্রত্যেকে যেমন বলে, তারা কার্যত একই রকম, তবে জওআইএন উদ্দেশ্যটির বিবৃতি সম্পর্কে আরও স্পষ্ট। অতএব এটি কিছু ক্ষেত্রে বর্তমান ওરેકল সংস্করণগুলিতে ক্যোয়ারী অপটিমাইজারকে সহায়তা করতে পারে (এটি যদি না হয় তবে আমার কোনও ধারণা নেই), এটি ওরাকেলের ভবিষ্যতের সংস্করণগুলিতে কোয়েরি অপটিমাইজারকে সহায়তা করতে পারে (কারও কোনও ধারণা নেই), বা এটি যদি সহায়তা করতে পারে তবে আপনি ডাটাবেস সরবরাহকারী পরিবর্তন।


2
বা ... সহজেই অভ্যন্তরীণ যোগদানগুলিকে বাম যোগদানগুলিতে পরিবর্তন করুন, যাতে আপনি দেখতে পাবেন কোনটি যোগদানের ফলে আপনি প্রত্যাশিত সারিগুলি মিস করতে পারেন। আমি এটি করি কারণ আমি পুরো ক্যোয়ারী একবারে করি। যদি আপনি অন্তর্ভুক্ত যোগদান করে মন্তব্য করেন, তবে আপনাকে নির্মূলের প্রক্রিয়া করতে হবে। এটি বেশি সময় নেয়। তবে আপনার জন্য +1 কারণ পঠনযোগ্যতা থেকে দূরে থাকায় এটি অন্তর্ভুক্ত হওয়া আমার প্রিয় কারণগুলির মধ্যে একটি!
ম্যাথু ম্যাকপিক

13

তারা যৌক্তিকভাবে অভিন্ন, তবে ওরাকলের আগের সংস্করণগুলিতে যে এএনএসআই সিনট্যাক্স গ্রহণ করেছিল সেখানে আরও জটিল ক্ষেত্রে প্রায়শই এটির বাগ থাকত, তাই এটি ব্যবহার করার সময় আপনি মাঝে মাঝে ওরাকল বিকাশকারীদের দ্বারা প্রতিরোধের মুখোমুখি হন।


ওরাকল এর পূর্ববর্তী সংস্করণগুলির সাথে কি বাগ রয়েছে? কত দ্রুত? কোন সংস্করণ (গুলি)?
স্কটচের

মেটালিংকের বিশদ রয়েছে ... তারা পুরো জায়গা জুড়ে পপ-আপ করে।
ডেভিড অলড্রিজ

7

পারফরম্যান্সটি অভিন্ন হওয়া উচিত, তবে আমি বাইরের সাথে যোগদানের ক্ষেত্রে উন্নত স্পষ্টতার কারণে যোগদান-সংস্করণটি ব্যবহার করার পরামর্শ দেব।

এছাড়াও অজান্তেই কার্টেসিয়ান পণ্যগুলি যোগ-সংস্করণ ব্যবহার করে এড়ানো যায়।

তৃতীয় প্রভাব হ'ল সহজ ও শর্তের সাথে এসকিউএল পড়া সহজ।


আমি সত্যিই মনে করি কীটি অনিচ্ছাকৃত প্রভাব যেখানে মানদণ্ডটি অস্পষ্ট। আপনি যদি যোগদানের ধরণ নির্দিষ্ট করে থাকেন তবে আপনি কী পেতে যাচ্ছেন তা সঠিকভাবে জানেন। আমি খুঁজে পেয়েছি যে একই ডাটাবেস প্ল্যাটফর্মের বিভিন্ন ডাটাবেস এবং এমনকি বিভিন্ন সংস্করণগুলি একটি অন্তর্ভুক্ত যোগদানের ক্ষেত্রে নাল মানকে আলাদাভাবে পরিচালনা করবে। আপনি যখন বাম / ডান অভ্যন্তরীণ / বাহ্যিক নির্দিষ্ট করবেন তখন কোনটি সঠিক তা নিয়ে ভাবতে সময় ব্যয় করবেন। আপনি যখন অস্পষ্ট পদ্ধতি ব্যবহার করেন তখন আপনি ধরে নেন যে এটি আপনার প্রত্যাশাকে / ইচ্ছা করার পথে কাজ করে।
স্টিভ কালেস্টেদ

6

ভুলে যাবেন না যে ওরাকল-এ, উভয় সারণীতে জোড় কী বৈশিষ্ট্যগুলির একই নাম দেওয়া হয়েছে, আপনি এটিও এইভাবে লিখতে পারেন:

select *
from Table1 inner join Table2 using (ID);

অবশ্যই এটি একই কোয়েরি পরিকল্পনা আছে।


আমি সংস্করণ rollbacked কারণ পূর্ববর্তী সংস্করণ উত্তর অর্থ পরিবর্তিত
জুয়ান

5

একটি দৃশ্যে যেখানে টেবিলগুলি তৃতীয় সাধারণ ফর্মের মধ্যে রয়েছে, টেবিলগুলির মধ্যে যোগদান করে পরিবর্তিত হওয়া উচিত নয়। অর্থাত্ গ্রাহকগণ এবং পেমেন্টগুলিতে যোগদান করা সর্বদা একই থাকে।

যাইহোক, আমাদের ফিল্টারগুলি থেকে যোগদানের পার্থক্য করা উচিত । যোগদানগুলি সম্পর্কে সম্পর্কে এবং ফিল্টারগুলি সম্পূর্ণ বিভাজন সম্পর্কে।

কিছু লেখক, মানটি উল্লেখ করে (অর্থাত জিম মেল্টন; অ্যালান আর সাইমন (1993)। নতুন এসকিউএল: একটি সম্পূর্ণ গাইড বোঝাচ্ছেন Mor , FROM ধারাতে কমা-বিচ্ছিন্ন টেবিলের উপরে জয়েন্ট সিনট্যাক্স গ্রহণের সুবিধাগুলি সম্পর্কে লিখেছিলেন।

আমি এই দৃষ্টিকোণের সাথে সম্পূর্ণ একমত

এসকিউএল লেখার এবং একই ফলাফল অর্জনের বিভিন্ন উপায় রয়েছে তবে যারা টিম ওয়ার্ক করেন তাদের অনেকের জন্য, উত্স কোডের যোগ্যতা একটি গুরুত্বপূর্ণ দিক, এবং নির্দিষ্ট ফিল্টারগুলি থেকে টেবিলগুলি কীভাবে একে অপরের সাথে সম্পর্কিত তা স্পষ্ট করার উত্সের বিবেচনায় একটি বড় লাফ ছিল কোড।


ইনার জয়েন মানে ক্রস জয়েন যেখানে। কীওয়ার্ডের সাথে যোগ হওয়ার চেয়ে কমাটি নিম্নতর অগ্রাধিকারের সাথে ক্রস জোড় হয়। বনাম "ফিল্টার" অভ্যন্তরীণ যোগদানের জন্য অপ্রাসঙ্গিক। এনএফগুলি জিজ্ঞাসা করার ক্ষেত্রে অপ্রাসঙ্গিক। স্ট্যান্ডার্ড কোনও কিছুই কীওয়ার্ডকে কমাতে যোগ দেয় না। তুচ্ছ অপ্টিমাইজেশানগুলি এবং যেখানে একইভাবে চিকিত্সা করা হয়। এই উত্তরটি ভুল ধারণা of
ফিলিপ্সি

1) আমি অনুমান করি যে ফিলিপ্সি বলতে চেষ্টা করছেন "কমা দ্বারা পৃথক করা ক্লোজ টেবিলগুলির একই অর্থ টেবিল ক্রস জয়েনডের সমান।" আমি যে তার সাথে একমত. অবশ্যই, আপনি পুরানো বাক্য গঠনতে আটকে থাকতে পারেন এবং এটি জওআইএন ক্লজগুলির সাথে সহাবস্থান করতে পারে। আরডিবিএমএস অপ্টিমাইজারগুলি উভয় ক্ষেত্রেই সমান হিসাবে পুরোপুরি বুঝতে পারবে (যদি তারা অবশ্যই সমতুল্য হয়) এবং একই পরিকল্পনার বিস্তারিত ব্যাখ্যা করবে।
abrittaf

4

পোস্টগ্রেএসকিউএলে অবশ্যই কোনও পার্থক্য নেই - তারা উভয়ই একই ক্যোয়ারী পরিকল্পনার সমান। আমি 99% নিশ্চিত এটি ওরাকলের ক্ষেত্রেও।


2

তারা উভয়ই একই কাজ করে এমন অন্তর্নিয়োগে যোগদান করে, কেউ কেবল নতুন এএনএসআই সিনট্যাক্স ব্যবহার করে।


2

কার্যত তারা যেমন বলা হয়েছে একই হয়। আমি সম্মত হলাম যে আপনি কী করতে চান ঠিক তা বর্ণনার জন্য যোগদান করা করাই ভাল। আমি অনেকবার ভেবেছিলাম যে আমি যোগদান করতে শুরু না করা পর্যন্ত আমি কীভাবে কিছু জিজ্ঞাসা করতে চেয়েছি এবং বুঝতে পেরেছি যে আমার মাথার মূল প্রশ্নের চেয়ে আমি আলাদা জিজ্ঞাসা করতে চাই।


1

এটি সত্য যে, কার্যত, উভয় প্রশ্নের একই পদ্ধতিতে প্রক্রিয়া করা উচিত। যাইহোক, অভিজ্ঞতাটি প্রমাণ করেছে যে আপনি যদি নতুন যোগদানের বাক্য গঠন ব্যবহার করে এমন ভিউগুলি থেকে বাছাই করে থাকেন তবে আপনার প্রশ্নগুলিও এটি ব্যবহার করে গঠন করা গুরুত্বপূর্ণ। কোনও দৃশ্যে "যোগদান" বিবৃতি ব্যবহার করা হলে ওরাকলের অপ্টিমাইজার বিভ্রান্ত হতে পারে, তবে ভিউ অ্যাক্সেস করা একটি ক্যোয়ারী "যেখানে" ধারাটিতে যোগদানের প্রচলিত পদ্ধতিটি ব্যবহার করে।


একেবারে যোগদানের চেয়ে ভিউগুলিতে এটি আরও সমস্যা।
unexist

0

যদিও দুটি প্রশ্নের পরিচয়টি সুস্পষ্ট বলে মনে হয় কখনও কখনও কিছু অদ্ভুত ঘটনা ঘটে। আমি ওপরে এসেছি যখন ওরাকল 10 জি-তে জিন থেকে WHERE- এ প্রোকেটে যোগদানের সময় কুইরি উইচের বিভিন্ন নির্বাহের পরিকল্পনা রয়েছে তবে আমি সরলীকৃত টেবিল এবং ডেটাতে এই সমস্যাটি পুনরুত্পাদন করতে পারি না। আমি মনে করি এটি আমার ডেটা এবং পরিসংখ্যানের উপর নির্ভর করে। অপ্টিমাইজারটি বেশ জটিল মডিউল এবং কখনও কখনও এটি যাদুকরভাবে আচরণ করে।

আমরা সাধারণভাবে কেন এই প্রশ্নের উত্তর দিতে পারি না তা এটি ডিবি ইন্টার্নালগুলির উপর নির্ভর করে। তবে আমাদের জানা উচিত যে উত্তরটি ' কোনও পার্থক্য নয় ' হতে হবে ।


0

উত্পাদনের সময় আমাদের এসপির সময় নির্ধারণের সময় আমি এই কনড্রুমটি পেয়েছিলাম, এক্সএমএল ফিড থেকে তৈরি একটি টেবিলের অভ্যন্তরীণ যোগটিকে পরিবর্তিত করে একটি 'যেখানে' ধারাতে পরিবর্তিত করেছি .... গড় নির্বাহের সময়টি এখন 1000 মৃত্যুদণ্ডের ওপরে 80 মিমি হয়ে গেছে, যখন গড় নির্বাহীকরণের ২.২ সেকেন্ডের আগে ... কার্যকরকরণ পরিকল্পনার বড় পার্থক্য হ'ল কী অনুসন্ধানের অপ্রয়োজনীয়তা ... আপনি যে বার্তাটি করছেন তা যদি আপনি উভয় পদ্ধতি ব্যবহার না করে পরীক্ষা না করে জানেন।

চিয়ার্স।



0

কিউইক যেমন বলেছিল, কার্যকর করার পরিকল্পনা একই রকম plan

JOIN বিবৃতিটি পড়ার পক্ষে আরও সহজ, অন শর্তটি ভুলে যাওয়া এবং কার্তেসিয়ান পণ্য পাওয়া সহজ করে তোলে। এই ত্রুটিগুলি একাধিক প্রকারের যোগে ব্যবহার করে দীর্ঘ প্রশ্নগুলিতে সনাক্ত করা বেশ কঠিন হতে পারে: নির্বাচন করুন * টি টি 1, টি 2 যেখানে t1.id = t2.some_field থেকে।

আপনি যদি কেবল একটি যুক্ত হওয়ার শর্তটি ভুলে যান তবে খুব বেশি রেকর্ড ফেরত ক্যোয়ারি কার্যকর করতে আপনি খুব দীর্ঘ সময় পাবেন ... সত্যিই অনেক বেশি many কিছু পোপল ক্যোয়ারিকে প্যাচ করতে একটি DISTINCT ব্যবহার করে তবে এটি কার্যকর করতে এখনও অনেক দীর্ঘ।

ঠিক এই কারণেই, JOIN বিবৃতি ব্যবহার করা অবশ্যই সর্বোত্তম অনুশীলন: একটি আরও ভাল রক্ষণাবেক্ষণযোগ্যতা এবং একটি ভাল পাঠযোগ্যতা।

আরও আরও, যদি আমি ভাল করে মনে করি তবে JOIN মেমরির ব্যবহার সম্পর্কে অনুকূলিত।


0

আমার সেই উত্তরের উত্তরে আমার একটি সংযোজন রয়েছে :

এটি যথাক্রমে এসকিউএল ৯২ এবং এসকিউএল ৯৯ হিসাবে সংজ্ঞায়িত হয়েছে, আপনি ইনার শব্দটি বাদ দিতে পারেন তবে তাদের মধ্যে কোনও পারফরম্যান্সের পার্থক্য নেই (কেবলমাত্র জোইন ব্যবহার করা যথেষ্ট পরিষ্কার এবং আপনি 5 টি কীবোর্ড স্ট্রোক সংরক্ষণ করুন এখন কল্পনা করুন যে সেখানে কতগুলি স্ট্রোক রয়েছে) বেশী)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.