⊗ppSpOtSQ 80 of 83 menu

PHP-তে SQL কোয়েরি ব্যবহার অপ্টিমাইজেশন

ডাটাবেসে SQL কোয়েরি executed করা একটি খুব ধীর অপারেশন। তাই ডাটাবেসে কোয়েরির সংখ্যা কমিয়ে আনার চেষ্টা করা প্রয়োজন।

সবচেয়ে সাধারণ ভুল হল লুপের ভিতরে অনেকগুলি SQL কোয়েরি executed করা, যখন এমন বিকল্প কোয়েরি exists করে যা একটি কমান্ড দিয়ে desired কাজ executed করতে দেয়।

একটি উদাহরণ দেখি।

ধরুন আমাদের কাছে ডাটাবেসে id এন্ট্রি সহ একটি অ্যারে দেওয়া হয়েছে এবং আমাদের এমন id সহ এন্ট্রি delete করতে হবে।

অনেকক্ষণ ভাবনা ছাড়াই, এইরকম একটি "চমৎকার" কনস্ট্রাকশন লেখা যেতে পারে:

<?php $ids = [1, 2, 3, 4, 5]; // ডিলিট করার অ্যারে foreach ($ids as $id) { mysqli_query($link, "DELETE FROM users WHERE id=$id"); } ?>

এই কোডের সমস্যা হল লুপে অনেকগুলি কোয়েরি executed হয়। কল্পনা করুন যে অ্যারেতে 100টি উপাদান থাকবে - 100টি কোয়েরি ডাটাবেসে executed হবে!

বর্ণিত কাজের বিশেষ ফাঁদ হল যে ওয়েবসাইট ডেভেলপ করার সময় ডাটাবেসটি ছোট থাকে এবং কোয়েরিগুলি খুব দ্রুত executed হয়। যাইহোক, হোস্টিং-এ ওয়েবসাইটের কাজ করার সাথে সাথে ডাটাবেস বড় হবে, কোয়েরিগুলি ধীরে ধীরে executed হতে থাকবে, এবং এমন হতে পারে যে লুপে শত শত কোয়েরি executed হওয়ার কারণে ওয়েবসাইট এক মিনিটের বেশি লোড হতে থাকবে!

অল্প努力 দিয়ে, এটি করা সম্ভব যে মাত্র একটি কোয়েরি executed হবে, এভাবে:

<?php $ids = [1, 2, 3, 4, 5]; $str = implode(',', $ids); // স্ট্রিং পাবেন '1,2,3,4,5' mysqli_query($link, "DELETE FROM users WHERE id IN ($str)"); ?>

নীচের কোডটি অপ্টিমাইজ করুন:

<?php $arr = [1, 2, 2, 4, 5]; $res = []; for ($i = 1; $i < count($arr); $i++) { $note = mysqli_query($link, "SELECT * FROM users WHERE id=$id"); for ($data = []; $row = mysqli_fetch_assoc($note); $data[] = $row); $res[] = $data; } var_dump($res); ?>
বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন