আমি নিম্নলিখিত হিসাবে একটি খুব বেসিক এসকিউএল টেবিল তৈরি করেছি
CREATE TABLE [dbo].[TickData](
[Date] [varchar](12) NULL,
[Time] [varchar](12) NOT NULL,
[Symbol] [varchar](12) NOT NULL,
[Side] [varchar](2) NOT NULL,
[Depth] [varchar](2) NOT NULL,
[Quote] [varchar](12) NOT NULL,
[Size] [varchar](18) NOT NULL
) ON [PRIMARY]
আমি তখন একটি 3 গিগ বাল্ক সন্নিবেশ করিয়েছি
BULK
INSERT TickData
FROM
'C:\SUMO.csv'
GO
তারপরে এসকিউএল সার্ভারের জন্য র্যামের ব্যবহার স্কাইরোকিংয়ে গেছে,, 30 গিগাবাইট র্যাম খেয়েছে:
আমি এটি অস্বাভাবিক আচরণ বলে মনে করতে পছন্দ করি এবং এটি এড়াতে সেই পদক্ষেপ নেওয়া যেতে পারে।
সম্পাদনা:
ঠিক আছে, এটি ডিফল্ট আচরণ বলে মনে হচ্ছে। যথেষ্ট ফর্সা।
তবে, বাল্ক সন্নিবেশ শেষ হওয়ার পরেও কেন স্মৃতি মুক্ত হয় না ?
অতিরিক্ত বিবেচনার একটি দম্পতি:
এসএসকিউএল সার্ভারটি মেমরি মুক্ত করার বিষয়ে মন্তব্য হিসাবে যখন ওএস দ্বারা "বলা হয়", আমার 24-কোর 32 জিবি সিওন সার্ভারের অভিজ্ঞতাটি এটিকে যথাযথ প্রমাণ করে: একবার মেমোরি-ভোরসিয়াস বিসিপি এক্সট্র্যাক্ট শেষ হয়ে যায় Once আমার কাছে একটি ডেটা প্রসেসিং অ্যাপ্লিকেশন এর নেট উদাহরণ রয়েছে যাতে নিষ্কাশিত ডেটা প্রক্রিয়াকরণ করা দরকার, এবং তারা চাকরী সম্পাদনের চেষ্টা করার জন্য অবশিষ্ট স্মৃতি ভাগ করে নেওয়ার জন্য দম বন্ধ / লড়াই ছেড়ে চলে যায়, যা এসকিউএল সার্ভার চালু হওয়ার পরে আরও বেশি সময় নেয় সমস্ত অ্যাপ্লিকেশন ভাগ করার জন্য অফ এবং মেমরি উপলব্ধ। আমাকে সবকিছু সুষ্ঠুভাবে চালিত করতে এসকিউএল সার্ভার এজেন্টকে থামাতে হবে এবং অ্যাপ্লিকেশনগুলিকে আর্টিসিয়াল্টের জন্য আউটআউটমেম্রয়ে ব্যতিক্রম ঘটতে না দেওয়া থেকে বিরত রাখতে হবে। কৃত্রিম ব্রুটাল মেমোরি ক্যাপিং / সীমাবদ্ধতা হিসাবে, যদি ফ্রি মেমরি উপলব্ধ থাকে, কেন এটি ব্যবহার করবেন না? আদর্শভাবে এটি কেবলমাত্র জোর করে "এলোমেলোভাবে" সীমাবদ্ধ না হয়ে যা পাওয়া যায় তার সাথে খাপ খাইয়ে রাখার জন্য দিনিকভাবে সেট করা হবে। তবে আমার ধারণা এটি বাই-ডিজাইন, সুতরাং এই শেষ পয়েন্টটি বন্ধ হয়ে গেছে।