এসকিউএল সার্ভার ফুলস্ক্যান ছাড়া অন্য কোনও কিছুর সাথে এই পরিসংখ্যান আপডেট করতে অস্বীকার করে?


13

আমি একটি দৈনিক ডেটাওয়ারহাউস বিল্ডে তুলনামূলকভাবে দীর্ঘ চলমান (20 মিনিট +) স্বয়ংক্রিয় আপডেটের পরিসংখ্যান অপারেশনটি লক্ষ্য করেছি। জড়িত টেবিলটি হ'ল

CREATE TABLE [dbo].[factWebAnalytics](
    [WebAnalyticsId] [bigint] IDENTITY(1,1) NOT NULL,
    [MarketKey] [int] NOT NULL CONSTRAINT [DF_factWebAnalytics_MarketKey]  DEFAULT ((-1)),
    /*Other columns removed*/
 CONSTRAINT [PK_factWebAnalytics] PRIMARY KEY CLUSTERED 
(
    [MarketKey] ASC,
    [WebAnalyticsId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [MarketKeyPS]([MarketKey])
) ON [MarketKeyPS]([MarketKey])

এটি মাইক্রোসফ্ট এসকিউএল সার্ভার 2012 (এসপি 1) - 11.0.3513.0 (এক্স 64) এ চলছে তাই লিখনযোগ্য কলামস্টোর সূচকগুলি উপলভ্য নয়।

সারণীতে দুটি স্বতন্ত্র বাজার কীগুলির জন্য ডেটা রয়েছে। বিল্ডটি নির্দিষ্ট মার্ককি কে একটি স্টেজিং টেবিলের জন্য পার্টিশনটি স্যুইচ করে, কলামস্টোর সূচকটি অক্ষম করে, প্রয়োজনীয় লেখাগুলি সম্পাদন করে, কলামস্টোরটি পুনর্নির্মাণ করে, তারপরে আবার স্যুইচ করে।

আপডেটের পরিসংখ্যানগুলির জন্য কার্যকরকরণ পরিকল্পনায় দেখা যায় যে এটি সারণী থেকে সমস্ত সারি টেনে আনে, সেগুলি সাজায়, সারিগুলির আনুমানিক সংখ্যাটি খারাপভাবে পেয়ে যায় এবং tempdbস্পিল স্তর 2 দিয়ে ছড়িয়ে পড়ে।

এখানে চিত্র বর্ণনা লিখুন

চলমান

SELECT [s].[name] AS "Statistic",
       [sp].*
FROM   [sys].[stats] AS [s]
       OUTER APPLY sys.dm_db_stats_properties ([s].[object_id], [s].[stats_id]) AS [sp]
WHERE  [s].[object_id] = OBJECT_ID(N'[dbo].[factWebAnalytics]'); 

শো

এখানে চিত্র বর্ণনা লিখুন

যদি আমি স্পষ্টভাবে চেষ্টা করি এবং সেই সূচকটির পরিসংখ্যানের নমুনা আকারটি অন্যদের দ্বারা ব্যবহৃত ব্যবহারের সাথে হ্রাস করি

UPDATE STATISTICS [dbo].[factWebAnalytics] [PK_factWebAnalytics] WITH SAMPLE 897667 ROWS

ক্যোয়ারীটি আবার 20 মিনিটের জন্য চলতে থাকে এবং সম্পাদন পরিকল্পনাটি দেখায় যে এটি 897,667 নমুনার অনুরোধ করা নয়, সমস্ত সারি প্রক্রিয়াকরণ করছে।

এই সমস্তের শেষে প্রাপ্ত পরিসংখ্যানগুলি খুব আকর্ষণীয় নয় এবং অবশ্যই পুরো স্ক্যানের জন্য ব্যয় করা সময়ের জন্য ওয়ারেন্ট দেবে বলে মনে হয় না।

Statistics for INDEX 'PK_factWebAnalytics'.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Name                            Updated                         Rows                            Rows Sampled                    Steps                           Density                         Average Key Length              String Index                    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PK_factWebAnalytics             Jan 22 2016 11:31AM             420072086                       420072086                       2                               0                               12                              NO                                                              420072086                       

All Density                     Average Length                  Columns                         
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0.5                             4                               MarketKey                       
2.380544E-09                    12                              MarketKey, WebAnalyticsId       

Histogram Steps                 
RANGE_HI_KEY                    RANGE_ROWS                      EQ_ROWS                         DISTINCT_RANGE_ROWS             AVG_RANGE_ROWS                  
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1                               0                               3.441652E+08                    0                               1                               
2                               0                               7.590685E+07                    0                               1                               

আমি কেন এই আচরণের মুখোমুখি হচ্ছি এবং এই ব্যবহারগুলি বাদ দিয়ে আমি কী কী পদক্ষেপ নিতে পারি NORECOMPUTE?


একটি নিন্দিত লিপি এখানে আছে । এটি কেবল একটি ক্লাস্টারযুক্ত পিকে এবং একটি কলাম স্টোর সূচী সহ একটি টেবিল তৈরি করে এবং কম নমুনা আকারের সাথে পিকে পরিসংখ্যান আপডেট করার চেষ্টা করে। এটি বিভাজন ব্যবহার করে না - দেখায় যে পার্টিশনের দিকটি আবশ্যক নয়। তবে উপরে বর্ণিত পার্টিশন ব্যবহারের ফলে পার্টিশনটি স্যুইচ করা এবং তারপরে আবার পরিবর্তন করা (এমনকি অন্য কোনও পরিবর্তন ছাড়াই) পার্টিশনের সারি সংখ্যার দ্বিগুণ করে পরিবর্তন_কাউন্টারকে বাড়িয়ে তুলবে এভাবে ব্যবহারিকভাবে গ্যারান্টি দেওয়া যে পরিসংখ্যানগুলি হবে বিবেচিত বাসি এবং স্বয়ংক্রিয় আপডেট।

আমি KB2986627 (যেমন উভয়ই কোনও সারি ছাড়াই ফিল্টার করা হয়েছে এবং তারপরে, যখন এটি ব্যর্থ হয়, একটি ফিল্টারযুক্ত এনসিআইও কার্যকর হয় না) তে উল্লিখিত টেবিলে একটি ক্লাস্টারযুক্ত সূচক যুক্ত করার চেষ্টা করেছি)

11.0.6020.0 নির্মাণের ক্ষেত্রে পুনরায় ত্রুটিযুক্ত সমস্যাটি দেখা যায় নি এবং এসপি 3-তে আপগ্রেড করার পরে বিষয়টি এখন ঠিক হয়ে গেছে।

উত্তর:


10

আমি প্রথমে যা চেষ্টা করব তা হল এসপিএল সিইউ 16 থেকে এসএকিউএল সার্ভারের উদাহরণটি কিউএফই দিয়ে আপডেট করা যা আপনার কাছে এখনই রয়েছে, এসপি 3 সিই 1 (বর্তমান 2012 বিল্ড) এর পরে পরীক্ষা করার চেষ্টা করছেন আচরণটি একই কিনা কিনা।

উদাহরণ স্বরূপ:

ফিক্স: আপডেটের পরিসংখ্যানগুলি এসকিউএল সার্ভারে কলামস্টোর সূচী সহ একটি টেবিলের জন্য ভুল নমুনা এবং প্রক্রিয়াকরণ সম্পাদন করে

... এসপি 2 সিইউ 2 এ প্রথম প্রকাশিত প্রাসঙ্গিক হতে পারে।

এটি বলেছিল, আমি নিশ্চিত নই যে 2012 কলামের দোকানে স্যাম্পলড পরিসংখ্যানগুলির জন্য প্রয়োজনীয় টেবিলের নমুনা সমর্থন করেছে। প্রশ্নটিতে একটি রেপ্রো পাওয়া গেলে আমি এই উত্তরটি আপডেট করব।


1
(শেষ অনুচ্ছেদ সম্পর্কে) SELECT WebAnalyticsId, MarketKey from [dbo].[factWebAnalytics] TABLESAMPLE (897667 ROWS) ORDER BY MarketKey, WebAnalyticsIdআমার জন্য 30 সেকেন্ডেরও কম সময়ে চলে। এটি কলামস্টোর সূচকটি ব্যবহার করে না। এটি ক্লাস্টারড ইনডেক্স ব্যবহার করে।
মার্টিন স্মিথ

2
হ্যাঁ এটি অবশ্যই পরবর্তী সংস্করণগুলিতে কিছু ঠিক করা লাগবে। আমি এখানে পেস্টবিন. com/7f4TwmKW একটি সহজ প্রতিবেদন তৈরি করেছি এবং 11.0.5343.0 চলমান একটি পরীক্ষার সার্ভারে 10,000 সারিগুলির একটি নমুনা আকারের জন্য আমার অনুরোধ উপেক্ষা করা হয়েছিল এবং সমস্ত 8,000,000 সারি i.stack.imgur.com/DbbjZ.png নমুনা করেছে (পরিকল্পনা প্রশ্নটির মতোই একই) - তবে আমি এটি মাইক্রোসফ্ট এসকিউএল সার্ভার 2012 (এসপি 3) (KB3072779) - 11.0.6020.0 (সারিগুলিতে স্যাম্পলড রয়েছে যেখানে 274,649 রয়েছে যা সারিগুলির আনুমানিক সংখ্যার কাছাকাছি) পূর্ববর্তী বিল্ড এবং প্ল্যানটি কলামস্টোরের পরিবর্তে সিআই ব্যবহার করে))
মার্টিন স্মিথ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.