আমি একজন পিএইচপি বিকাশকারী তাই কঠোর হবেন না। আমার কাছে একটি বড় টেবিল ~ 5.5gb ডাম্প। আমাদের প্রধানমন্ত্রী নতুন বৈশিষ্ট্য সম্পাদনের জন্য এতে নতুন কলাম তৈরি করার সিদ্ধান্ত নিয়েছেন। সারণিটি InnoDB তাই আমি যা চেষ্টা করেছি:
টেবিল লক দিয়ে স্ক্রিনে টেবিল পরিবর্তন করুন। H 30 ঘন্টা এবং কিছুই নিল না। সুতরাং আমি এটি বন্ধ করে দিয়েছি। প্রথম আমি একটি ভুল করেছি কারণ আমি সমস্ত লেনদেন শেষ করি নি তবে ২ য় বার কোনও মাল্টিলক ছিল না। অবস্থা ছিল
copy to tmp table
।যেহেতু আমারও এই টেবিলটির জন্য বিভাজন প্রয়োগ করতে হবে আমরা একই নাম এবং নতুন কাঠামোর সাথে ডাম্প তৈরি, নতুন নামকরণ এবং টেবিল তৈরি করার সিদ্ধান্ত নিয়েছি। তবে ডাম্প কঠোর অনুলিপি তৈরি করছে (কমপক্ষে আমি অন্য কিছু খুঁজে পাইনি)। সুতরাং আমি
sed
এটি দিয়ে একটি নতুন কলাম ডাম্প এবং এটিকে জিজ্ঞাসা করার জন্য যুক্ত করেছি। তবে কিছু অদ্ভুত ত্রুটি শুরু হয়েছিল। আমি বিশ্বাস করি এটি চরসেটের কারণে হয়েছিল। Utf-8 এ সারণী এবং ফাইলটি আমাদের পরে আসকি হয়ে যায়sed
। সুতরাং আমি 30% ডেটাতে ত্রুটি পেয়েছি (অজানা কমান্ড '\' ')। সুতরাং এটিও একটি খারাপ উপায়।
এটি এবং গতির পারফরম্যান্স সম্পাদন করার জন্য অন্যান্য বিকল্পগুলি কী কী (আমি পিএইচপি স্ক্রিপ্টের সাহায্যে এটি করতে পারি, তবে এটি যুগে যুগে গ্রহণ করবে)। এক্ষেত্রে পারফরম্যান্স কী হবে INSERT SELECT
।
কোন অগ্রিম জন্য ধন্যবাদ।
SET NAMES utf8
এবং। তবেCOLLATION
মেহ আইডিকি কেন 30% এর পরে ডেটা দূষিত হয়sed
। আমি মনে করি বাল্ক লোডটি দ্রুত হবে তবে সম্ভবত আরও কিছু উপস্থিত রয়েছে যা আমি অনুপস্থিত। আপনাকে ধন্যবাদ মার্ক