আইডিগুলির তালিকায় আইডি রয়েছে এমন কোনও টেবিল থেকে কীভাবে মুছবেন?


91

আমার যদি আইডির একটি তালিকা থাকে (1,4,6,7) এবং এমন একটি ডিবি টেবিল যেখানে আমি এই তালিকায় আইডি রয়েছে সেখানে সমস্ত রেকর্ড মুছতে চাই, তা করার উপায় কী?

উত্তর:


168

আপনার প্রশ্নটি এর জন্য প্রায় এসকিউএল বানান:

DELETE FROM table WHERE id IN (1, 4, 6, 7)

@ জয়য়ারজো: যে কোনও পার্থক্য সম্ভবত বেশ নগণ্য হবে এবং আমি মনে করি না যে একের পর এক মোছার কোনও কারণই যে কোনওভাবে কার্যকর হতে পারে।
ম্যাটি ভির্ককুনেন

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

8
একের পর এক প্রায় অবশ্যই ধীর হবে, অবশ্যই ওরাকল বা পোস্টগ্র্যাস এসকিউএল এ on অনেকগুলি ছোট অপারেশনে এসকিউএল অপারেশনগুলি ভাঙ্গা খারাপ কার্যকারিতা পাওয়ার দুর্দান্ত উপায়।
ডেভিড অ্যালড্রিজ

4
আমি দেখেছি যে ইন ক্লজে 10,000 আইটেম প্রায় 200 সেকেন্ড সময় নিয়েছে, তবে 1000 সময় 3 সেকেন্ড (বা স্বাভাবিকের তুলনায় 30 সেকেন্ড) নিয়েছে। আকার একটা ব্যাপার.
ওহুমসাম

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