একাধিক একক সারি সন্নিবেশ বনাম একাধিক সারি সন্নিবেশ


9

আমার অ্যাপ্লিকেশনটিতে আমি মাল্টি-সারি সন্নিবেশগুলি করি যখন আমি কেবল এটি করতে পারি কারণ এটি ডিবি এবং অ্যাপ্লিকেশনটির মধ্যে গোলাকার ভ্রমণের সংখ্যা হ্রাস করে।

তবে আমি কৌতূহলী ছিলাম, অন্য কোনও সুবিধা আছে কি? উদাহরণস্বরূপ, একাধিক সারি যদি একবারে inোকানো হয়:

insert into tbl (c1, c2) values
(v1, v2)
(v3, v4)

বনাম:

insert into tbl (c1, c2) values (v1, v2)
insert into tbl (c1, c2) values (v3, v4)

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

আমি PostgreSQL ব্যবহার করছি।


2
আমি মনে করি সূচিটি আপডেট হয়েছে এটি প্রতি বিবৃতিতে একবার, প্রতি সারিতে একবার নয় । সুতরাং একক বিবৃতি দুটি বিবৃতি চেয়ে দক্ষ হতে হবে। তবে আমি নিশ্চিত নই (তাই কোনও উত্তর নেই, কেবলমাত্র একটি মন্তব্য)
এ_ ঘোড়া_বিহীন_নাম_নামা

1
আমি মনে করি সঠিক প্রশ্নটি কি এটি একই লেনদেনে আবদ্ধ হয়। পেট থেকে, যদি লেনদেন উভয় হয়, একটি পার্থক্য হবে না।
ব্যবহারকারী 1363989

@ ব্যবহারকারী 1363989, আমি উভয় প্রশ্ন একই লেনদেনে হবে তা বোঝাতে আমার প্রশ্ন আপডেট করেছি
সিডিএমকে

উত্তর:


5

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

এবং এখানে দস্তাবেজগুলিকে সংযুক্ত করে সূচক তৈরি / আপডেট একক বিবরণের চেয়ে ব্যাচগুলির সাথে আরও দক্ষতার সাথে কাজ করে।

পিটার ম্যানিসের কাছ থেকে বিভিন্ন Inোকানো পদ্ধতির পারফরম্যান্স সম্পর্কে একটি সুন্দর নিবন্ধ রয়েছে যা আমি সুপারিশ করতে পারি।

ফ্যাবিয়েন কোয়েলহো এখানে বর্ণনা করেছেন বলে অন্য একটি বিষয় মনে রাখবেন FILLFACTORসূচকটি হ'ল এটির পারফরম্যান্সের উপর প্রভাব রয়েছে ।


যদি কোনও লেনদেনে কোয়েরি করা হয় তবে সূচি আপডেট প্রতি-বিবৃতিতে একবার হবে? অন্য কিছুর কারণে কি পারফরম্যান্সের পার্থক্য থাকবে? আমি কোনও নিবন্ধ অ্যাক্সেস করতে অক্ষম: আপনি কি আবার লিঙ্ক করতে পারেন?
ব্যাটব্র্যাট

1

আমি বিশ্বাস করি না যে এই ক্ষেত্রে সূচক রক্ষণাবেক্ষণের ক্ষেত্রে বর্তমানে কোনও অনুকূলিতকরণের পার্থক্য রয়েছে।

নেটওয়ার্ক ওভারহেড ছাড়াও, মাল্টি-ভ্যালু স্টেটমেন্টের অন্যান্য সুবিধাগুলি পার্সিং, লকিং ইত্যাদিতে হয় (যদিও টেবিল লক অন tblথাকে তবে প্রথম সন্নিবেশ বিবৃতিটি গ্রহণ করা হয় এবং তারপরে বাকী লেনদেনের পুরোটা বজায় রাখা হয়, প্রতিটি সন্নিবেশ বিবৃতিতে এখনও লকটি আটকে রয়েছে তা যাচাই করতে হবে এবং এই যাচাইকরণটি নিখরচায় নয়)

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