কম্পিউটার টিউটোরিয়াল

SAP-এ SQL vs ABAP প্রোগ্রাম দিয়ে শর্ত লাগানো: পারফরম্যান্স তুলনা

SAP-এ ছোট ডেটাসেট (যেমন ৫০০ রো) এর জন্য শর্ত (condition) লাগাতে SQL (OpenSQL) বা ABAP প্রোগ্রাম (LOOP ... WHERE) — দুটি পদ্ধতির পারফরম্যান্স পার্থক্য নগণ্য। যেকোনো একটি ব্যবহার করা যায়।

ABAP কোড উদাহরণ (LOOP AT ... WHERE)

LOOP AT lt_table TRANSPORTING NO FIELDS WHERE exp > 5.
  ADD 1 TO lt_counter.
ENDLOOP.

ব্যাখ্যা

  • TRANSPORTING NO FIELDS — শুধু কাউন্ট করার জন্য, ডেটা ワークএরিয়ায় কপি করবে না (পারফরম্যান্স বুস্ট)۔
  • WHERE exp > 5 — শর্ত।
  • ADD 1 TO lt_counter — কাউন্টার ইনক্রিমেন্ট।

SQL (OpenSQL) সমতুল্য

SELECT COUNT(*) FROM lt_table WHERE exp > 5.
  • ডাটাবেস লেভেলে ফিল্টার ও কাউন্ট — নেটওয়ার্ক ট্রান্সফার কম।
  • ৫০০ রো ছোট ডেটাসেট হলে পারফরম্যান্স প্রায় সমান।

কোনটি বেছে নেবেন?

পরিস্থিতিসুপারিশ
ছোট ডেটা (৫০০ রো), সিম্পল লজিকযেকোনো একটি (ABAP LOOP বা OpenSQL)
বড় ডেটা, কমপ্লেক্স ফিল্টারOpenSQL (DB-লেভেল ফিল্টার)
অ্যাপ্লিকেশন লজিকের মধ্যে আছেABAP LOOP (কনটেক্সটে থাকা ভালো)
একাধিক টেবিল জয়েন দরকারOpenSQL (JOIN)

মূল পয়েন্টসমূহ

  • ৫০০ রোর মতো ছোট ডেটাসেটে পারফরম্যান্স পার্থক্য নগণ্য।
  • OpenSQL ডাটাবেসে ফিল্টার করে কম ডেটা ট্রান্সফার করে (সাধারণত ভালো)।
  • ABAP LOOP-এ TRANSPORTING NO FIELDS ব্যবহার করুন শুধু কাউন্ট/চেক করার সময়।
  • বড় ডেটায় SELECT ... UP TO n ROWS বা পেজিনেশন ব্যবহার করুন।
  1. SQL-এ Inner Join এবং Outer Join-এর পার্থক্য

  2. পয়েন্টার ব্যবহার করে যোগ ও বিয়োগ বের করার C প্রোগ্রাম

  3. সি++ প্রোগ্রামে i++ এবং ++i-র মধ্যে পারফরম্যান্স পার্থক্য কী?

  4. C++-এ i++ এবং ++i-এর পারফরম্যান্স পার্থক্য কি?