একটি সিটিই এবং একটি টেম্প সারণীর মধ্যে পার্থক্য কী?


174

একটি সাধারণ টেবিল এক্সপ্রেশন (সিটিই) এবং একটি টেম্প টেবিলের মধ্যে পার্থক্য কী? এবং কখন আমার অন্যটির ওপরে ব্যবহার করা উচিত?

কোটে

WITH cte (Column1, Column2, Column3)
AS
(
    SELECT Column1, Column2, Column3
    FROM SomeTable
)

SELECT * FROM cte

টেম্প টেবিল

SELECT Column1, Column2, Column3
INTO #tmpTable
FROM SomeTable

SELECT * FROM #tmpTable


উত্তর:


200

এটি বেশ বিস্তৃত, তবে আমি আপনাকে সাধারণ হিসাবে একটি উত্তর দিতে পারব।

CTEs ...

  • অপ্রয়োজনীয় (তবে রেফারেন্সযুক্ত সামগ্রীতে বিদ্যমান সূচিগুলি ব্যবহার করতে পারেন)
  • সীমাবদ্ধতা থাকতে পারে না
  • মূলত নিষ্পত্তিযোগ্য VIEWএস
  • কেবলমাত্র পরবর্তী ক্যোয়ারী চালানো না হওয়া পর্যন্ত স্থির থাকে
  • পুনরাবৃত্তি হতে পারে
  • উত্সর্গীকৃত পরিসংখ্যান নেই (অন্তর্নিহিত বস্তুর উপরের পরিসংখ্যানের উপর নির্ভর করুন)

# টেম্প সারণী ...

  • টেম্পডিবায় বিদ্যমান প্রকৃত বস্তুযুক্ত টেবিলগুলি
  • ইনডেক্স করা যায়
  • সীমাবদ্ধতা থাকতে পারে
  • বর্তমান সংযোগের জীবন ধরে রাখুন
  • অন্যান্য ক্যোয়ারী বা উপ-প্রক্রিয়াগুলি দ্বারা রেফারেন্স করা যায়
  • ইঞ্জিন দ্বারা উত্সর্গীকৃত পরিসংখ্যান আছে

যতক্ষণ না প্রতিটি ব্যবহার করবেন, তাদের ব্যবহারের ক্ষেত্রে খুব আলাদা। আপনার যদি খুব বড় রেজাল্ট সেট থাকে বা এটি একাধিকবার উল্লেখ করতে হয় তবে এটি একটি #tempটেবিলে রাখুন। যদি এটি পুনরাবৃত্ত হওয়া দরকার, ডিসপোজেবল হতে পারে বা যুক্তিগতভাবে কিছু সহজ করার জন্য একটি CTEপছন্দ হয়।

এছাড়াও, কখনও কখনও পারফরম্যান্সের জন্য ব্যবহার করাCTE উচিত নয় । আপনি প্রায়শই কোনও সিটিই ব্যবহার করে জিনিসগুলির গতি বাড়িয়ে তুলবেন না, কারণ এটি আবার কেবলমাত্র একটি নিষ্পত্তিযোগ্য দৃষ্টিভঙ্গি। আপনি তাদের সাথে কিছু ঝরঝরে জিনিস করতে পারেন তবে কোনও প্রশ্নের গতি বাড়ানো আসলে তাদের মধ্যে একটি নয়।


সিটিই ব্যবহার করে একটি বড়
মার্জিকে

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

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

29

সম্পাদনা করুন:

দয়া করে নীচে মার্টিনের মন্তব্য দেখুন:

স্মৃতিতে টেবিল হিসাবে সিটিই বাস্তবায়িত হয় না। এটি একটি ক্যোয়ারী সংজ্ঞাটি encapsulate করার একটি উপায় মাত্র। ওপির ক্ষেত্রে এটি অন্তর্নিহিত হবে এবং ঠিক যেমন করা হবে তেমনই হবে SELECT Column1, Column2, Column3 FROM SomeTable। বেশিরভাগ সময় তারা সামনের দিকে না যায়, এই কারণেই এটি কোনও সারি দেয় না WITH T(X) AS (SELECT NEWID())SELECT * FROM T T1 JOIN T T2 ON T1.X=T2.X, কার্যকর করার পরিকল্পনাগুলিও পরীক্ষা করে। যদিও মাঝে মাঝে স্পুল পাওয়ার পরিকল্পনা হ্যাক করা সম্ভব। এটির জন্য একটি ইঙ্গিতটির অনুরোধ করে একটি সংযোগ আইটেম রয়েছে। - মার্টিন স্মিথ 15 ফেব্রুয়ারী '12 এ 17:08 এ


আসল উত্তর

কোটে

এমএসডিএন-এ আরও পড়ুন

একটি সিটিই মেমরিতে ব্যবহৃত টেবিলটি তৈরি করে তবে এটি অনুসরণ করা নির্দিষ্ট প্রশ্নের জন্য কেবল বৈধ। পুনরাবৃত্তি ব্যবহার করার সময়, এটি একটি কার্যকর কাঠামো হতে পারে।

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

টেম্প টেবিল

এমএসডিএন-এ আরও পড়ুন - প্রায় 40% পথে স্ক্রোল করুন

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

অস্থায়ী টেবিল দুটি বিভিন্ন ধরণের আসে: স্থানীয় এবং বৈশ্বিক। এমএস এসকিএল সার্ভারের ক্ষেত্রে আপনি #tableNameস্থানীয় এবং একটি ##tableNameবিশ্বব্যাপী উপাধি হিসাবে উপাধি ব্যবহার করেন (চিহ্নিতকরণের বৈশিষ্ট্য হিসাবে একক বা ডাবল # এর ব্যবহারটি লক্ষ্য করুন)।

লক্ষ্য করুন যে টেম্প টেবিলগুলির সাথে টেবিল ভেরিয়েবল বা সিটিইর বিপরীতে আপনি সূচীপত্রগুলি এবং এর মতো প্রয়োগ করতে পারেন, কারণ এগুলি শব্দের সাধারণ অর্থে বৈধভাবে সারণী।


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


11
স্মৃতিতে টেবিল হিসাবে সিটিই বাস্তবায়িত হয় না। এটি একটি ক্যোয়ারী সংজ্ঞাটি encapsulate করার একটি উপায় মাত্র। ওপি-র ক্ষেত্রে এটি অন্তর্নিহিত হবে এবং ঠিক যেমনটি করা হবেSELECT Column1, Column2, Column3 FROM SomeTable
মার্টিন স্মিথ

4
বেশিরভাগ সময় তারা সামনের দিকে না যায়, এই কারণেই এটি কোনও সারি দেয় না WITH T(X) AS (SELECT NEWID())SELECT * FROM T T1 JOIN T T2 ON T1.X=T2.X, কার্যকর করার পরিকল্পনাগুলিও পরীক্ষা করে। যদিও মাঝে মাঝে স্পুল পাওয়ার পরিকল্পনা হ্যাক করা সম্ভব । এটির জন্য একটি ইঙ্গিতটির অনুরোধ করে একটি সংযোগ আইটেম রয়েছে
মার্টিন স্মিথ

16

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

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


এখন, আসুন আমরা ন্যায্য হই - অভিশাপই হ'ল মহা মন্দ; টেম্প টেবিলে খারাপ একটি হয় ক্ষুদ্রতর মন্দ। :-) আপনি নিজের মতো করে এগুলি একই স্তরে স্থাপন করা সত্যিই অন্যায়।
আরডিফোজ

@ আরডিফোজ ঠিক আছে, জাহান্নামের 9 টি চেনাশোনা রয়েছে যেমনটি আমরা সবাই জানি । ২ য় স্থানে টেম্প টেবিল রাখি এবং ... ... সপ্তায়? ;)
ypercubeᵀᴹ

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

@ ডেভহিলডিচ এটি একটি নিখুঁত মন্তব্য, তবে এটি দৃ fair়ভাবে মন্তব্য করার পক্ষেও যে খুব খুব পরিস্থিতিতে, কার্সার সঠিক সমাধান নয়, সুতরাং এটির মতো একটি প্রায় শেষ সমাধানের জন্য এটি কার্যকরভাবে সাধারণীকরণ হবে।
মেল প্যাডেন

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

14

কোনও জিজ্ঞাসার মধ্যে একটি সিটিই বারবার কল করা যেতে পারে এবং যতবার তা উল্লেখ করা হয় ততবার মূল্যায়ন করা হয় - এই প্রক্রিয়াটি পুনরাবৃত্তি হতে পারে। যদি এটি কেবল একবার উল্লেখ করা হয় তবে এটি অনেকটা সাব-কোয়েরির মতো আচরণ করে, যদিও সিটিইগুলি প্যারামিটারাইজড হতে পারে।

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

আইআইআরসি টেবিল ভেরিয়েবলগুলি (অন্যদিকে) সর্বদা মেমরি স্ট্রাকচার থাকে।


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

11

টেম্প টেবিলটি টেম্পিডবিতে একটি আসল অবজেক্ট, তবে সিটিই এক ধাপে সংগঠিত পুনরাবৃত্তির বাক্য গঠনকে সহজতর করার জন্য জটিল কোয়েরির চারপাশে কেবল এক ধরণের মোড়ক।


8

সিটিই ব্যবহারের প্রাথমিক কারণ হ'ল উইন্ডো ফাংশন যেমন row_number()এবং অন্যান্য বিভিন্নগুলিতে অ্যাক্সেস করা ।

এর অর্থ আপনি খুব দ্রুত এবং দক্ষতার সাথে গ্রুপ প্রতি প্রথম বা শেষ সারিটি পেতে পারেন - বেশিরভাগ ব্যবহারিক ক্ষেত্রে অন্যান্য উপায়ের চেয়ে বেশি দক্ষতার সাথে

with reallyfastcte as (
select *, 
row_number() over (partition by groupingcolumn order by sortingcolumn) as rownum
from sometable
)
select *
from reallyfastcte
where rownum = 1;

আপনি উপরের মত একটি অনুরূপ ক্যোয়ারিকে একটি পারস্পরিক সম্পর্কিত সাবকোয়ারি ব্যবহার করে বা একটি সাব-কোয়েরি ব্যবহার করে চালাতে পারেন তবে সিটিই প্রায় সমস্ত পরিস্থিতিতে দ্রুততর হবে।

অতিরিক্তভাবে, সিটিইগুলি আপনার কোডটি সহজতর করতে সহায়তা করতে পারে। এটি পারফরম্যান্স লাভের দিকে নিয়ে যেতে পারে কারণ আপনি কোয়েরিটি আরও বেশি বুঝতে এবং অপ্টিমাইজারকে আরও নির্বাচনী করতে সহায়তা করতে আরও ব্যবসায় যুক্তি যুক্ত করতে পারেন।

অতিরিক্তভাবে, যদি আপনি আপনার ব্যবসায়ের যুক্তি বুঝতে এবং কোয়েরির কোন অংশটি প্রথমে চালিত করা উচিত তা বুঝতে পারলে সিটিইগুলি পারফরম্যান্সকে বাড়িয়ে তুলতে পারে - সাধারণত, আপনার সর্বাধিক নির্বাচিত প্রশ্নগুলি প্রথমে রাখুন ফলাফল ফলাফলের জন্য নেতৃত্ব দেয় যা তাদের পরবর্তী যোগদানের একটি সূচক ব্যবহার করতে পারে এবং option(force order)কোয়েরি যুক্ত করবে ইঙ্গিত

শেষ অবধি, সিটিইরা ডিফল্টরূপে টেম্পিডবি ব্যবহার করে না যাতে আপনি তাদের ব্যবহারের মাধ্যমে সেই বাধা সম্পর্কে কন্ট্রোলটি হ্রাস করেন।

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


সমস্ত ভাল পয়েন্ট ... +1
মেল প্যাডেন

6

এখানে সিটিইর দিকে কিছুটা নেতিবাচকতা রয়েছে বলে মনে হচ্ছে।

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

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

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

আমাকে স্বীকার করতে হবে যে আমার অভিজ্ঞতাটি মূলত ডিবি 2 এর সাথে রয়েছে তাই আমি ধরে নিচ্ছি যে উভয় পণ্যেই সিটিইর কাজ একই রকম। আমি আনন্দের সাথে সংশোধন করে দাঁড়াব যদি সিটিই এসকিউএল সার্ভারে কোনওভাবে নিম্নমানের হয়। ;)

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