আমাদের ডাটাবেসে একটি বড় টেবিল উপস্থিত রয়েছে যা কম বেশি দেখায়:
CREATE TABLE dbo.production_data
(
pd_id BIGINT PRIMARY KEY,
serial NVARCHAR(16) NOT NULL UNIQUE,
...
);
তবে এখন সিরিয়াল ক্ষেত্রটির আকার হ্রাস পেয়েছে, তাই আমি এটিকে 32-এ পরিবর্তন করতে চাই Vis
DROP INDEX ux_production_data_serial ON dbo.production_data;
GO
ALTER TABLE dbo.production_data ALTER COLUMN serial NVARCHAR(32) NOT NULL;
GO
CREATE INDEX ux_production_data_serial ON dbo.production_data(serial ASC);
এটি কি আসলেই দরকার? বা আরও কি এটি করার একটি অতি সংরক্ষণের মতো?
এছাড়াও অনন্য সূচকটি পুনরায় তৈরি করার সময়, আমার টেবিলটি লক হয়ে যাবে? কারণ এটি একটি বড় সমস্যা হবে (যেহেতু টেবিলটিতে 30 মিলিয়ন সারি রয়েছে এবং আমি অনুমান করি যে সূচকটি পুনরায় তৈরি করতে বেশ কিছুটা সময় লাগবে), কারণ পরবর্তী রক্ষণাবেক্ষণ উইন্ডোটি ভবিষ্যতে কয়েক মাস রয়েছে। আমার বিকল্প কি কি?