আমি কীভাবে এই 20 মিলিয়ন রেকর্ড ভিউটি দ্রুত জিজ্ঞাসা করব?


14

একটি অনুসন্ধান কার্যকারিতার জন্য আমি এমন একটি ভিউ ব্যবহার করছি যাতে আমার সন্ধান করা দরকার এমন সমস্ত টেবিলের রেকর্ড রয়েছে। দৃশ্যটির প্রায় 20 মিলিয়ন রেকর্ড রয়েছে। এই মতামতের বিরুদ্ধে অনুসন্ধানগুলি খুব বেশি সময় নিচ্ছে।

এই দৃশ্যের কর্মক্ষমতা উন্নত করার জন্য আমার কোথায় নজর দেওয়া উচিত?

দেখার জন্য রুক্ষ সংজ্ঞাটি নীচে is এটিতে তেরটি সারণী এবং ত্রিশটি ক্ষেত্র অন্তর্ভুক্ত রয়েছে।

CREATE VIEW [dbo].[v_AllForSearch]
AS
SELECT 
  FT.firstField AS [firstField]
, FT.fld_primary AS [fld_primary]
, FT.fld_thirdField AS [thirdField]
, FT.fld_fourthField AS [fourthField]           
, ISNULL(ST.[fld_firstSearchField],'') AS [firstSearchField]
, ISNULL(TT.[fld_thirdSearch],'') AS thirdSearch
, ISNULL(TT.[fld_fourthSearch],'')AS fourthSearch
, ISNULL(TT.[fld_fifthSearch],'')AS fifthSearch
, ISNULL(FRT.[fld_sixthSearch],'') As [sixthSearch]
, ISNULL(FRT.[fld_seventhSearch],'') AS [seventhSearch]
, ISNULL(FRT.[fld_eightSearch],'')AS [eightSearch]
, ISNULL(FIT.[fld_nineSearch],'') AS [nineSearch]
, ISNULL(SIT.[fld_tenthSearch],'')AS [tenthSearch]
, ISNULL(SET.[fld_eleventhSearch],'') AS [eleventhSearch]
, ISNULL(ET.[twelthSearch],'')AS [twelthSearch]
, ISNULL(NT.[thirteenthSearch],'')AS [thirteenthSearch]
, ISNULL(NT.[fourteenSearch],'') AS [fourteenSearch]
, ISNULL(NT.[fifteenSearch],'') AS [fifteenSearch]
, ISNULL(NT.[sxteenSearch],'')  AS [sxteenSearch]
, ISNULL(NT.[seventeenSearch],'') AS [seventeenSearch]
, ISNULL(NT.[eighteenSearch],'')AS [eighteenSearch]
, ISNULL(TT.[ninteenSearch],'') AS [ninteenSearch]
, ISNULL(ELT.[twentySearch],'') AS [twentySearch]
, ISNULL(ELT.[twentyOneSearch],'') AS [twentyOneSearch]
, ISNULL(TWT.[twentyTwoSearch],'') AS [twentyTwoSearch]
, ISNULL(THT.twentyThree,'') AS [twentyThree]
, ISNULL(THT.twentyFour,'') AS [twentyFour]
, ISNULL(THT.twentyFive,'') AS [twentyFive]
, ISNULL(THT.twentySix,'') AS [twentySix]
FROM 
      tblFirstTable AS FT         
      LEFT JOIN [tblSecondTable] AS ST 
            ON ST.[fld_primary] = FT.[fld_primary]        
      LEFT JOIN [tblThirdTable] AS TT 
            ON TT.[fld_primary] = FT.[fld_primary]        
      LEFT JOIN [tblFourthTable] AS FRT 
            ON FRT.[fld_primary] = FT.[fld_primary]       
      LEFT JOIN [tblFifthTable] AS FIT 
            ON FIT.[fld_primary] = FT.[fld_primary]       
      LEFT JOIN [tblSixthTable] AS SIT 
            ON SIT.[fld_primary] = FT.[fld_primary]       
      LEFT JOIN [tblSeventhTable] AS SET 
            ON SET.[fld_primary] = FT.[fld_primary]       
      LEFT JOIN [tblEighthTable] AS ET 
            ON ET.[fld_primary] = FT.[fld_primary] 
      LEFT JOIN [tblNinthTable] AS NT 
            ON NT.[fld_primary] = FT.[fld_primary]        
      LEFT JOIN [tblELTnthTable] AS TT 
            ON TT.[fld_primary] = FT.[fld_primary]        
      LEFT JOIN [tblEleventhTable] AS ELT 
            ON ELT.[fld_primary] = FT.[fld_primary]       
      LEFT JOIN [tblTwelthTable] AS TWT 
                            ON TWT.[fld_id] = ELT.[fld_id]  
              LEFT JOIN [tblThirteenthTable] AS THT
            ON THT.[firstField]= FT.[firstField]
WHERE fld_Status ..

উত্তর:


9

একটি দৃশ্য ম্যাক্রো যা প্রসারিত হয়। সুতরাং আপনার দৃষ্টিভঙ্গি যদি 2 টি টেবিলের যোগ হয়, তবে কার্যকরকরণ পরিকল্পনাটি 2 টি টেবিল প্রদর্শন করবে। দৃশ্যটি স্বচ্ছ।

ভিউটি ইনডেক্স / ম্যাটেরিয়াল করা থাকলে এটি প্রযোজ্য না। তবে আপনি এই প্রশ্ন জিজ্ঞাসা করা হবে না।

সুতরাং, ফাঁসির পরিকল্পনা কী বলে? ডিটিএ? ডিএমভি ক্যোয়ারী অনুপস্থিত? সবচেয়ে ব্যয়বহুল ডিএমভি কোয়েরি?


তিনি হয়ত কোনও বস্তুগত দৃষ্টির জন্য প্রশ্ন জিজ্ঞাসা করছেন এবং বুঝতে পারেন না যে এটি সাধারণত অন্য টেবিল হিসাবে প্রয়োগ করা হয়, তাই
জো

@ জো: সম্ভবত, তবে তারপরে পার্থক্যগুলি জানা থাকলে ওপি সাহায্য চাইবে না ...
জিবিএন

প্রশ্নটি এমএস এসকিউএল সার্ভারের জন্য ট্যাগ করা হয়েছে, সুতরাং "
ম্যাচুয়ালাইজড

1
@ অ্যান্ড্রু এসকিউএল: আমি করেছি। তবে আমাদের নিম্ন জীবনের ফর্মগুলি পূরণ করা উচিত ...
gbn

6

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


1
তবে আমি এই ধারণার মধ্যে ছিলাম যে সাধারণভাবে দর্শনগুলি সূচকগুলি থেকে খুব বেশি উপকৃত হয় না (... "আমার জানা মতে এই লোকটি আমাকে বলেছিল") অনুসারে
jcolebrand

5
@ জকোলেব্রান্ড: সাধারণভাবে দর্শনগুলি কীভাবে ব্যবহার করা হয় তার উপর নির্ভর করে সূচী দ্বারা এটি ব্যাপকভাবে সহায়তা করে। মূলত যখন কোনও প্রদত্ত ক্যোয়ারীতে ব্যবহৃত হয় তখন তারা উপকৃত হবে যেন তাদের কোডটি সরাসরি কোয়েরিতে sertedোকানো হয়েছিল। সাধারণ দর্শন + প্রশ্নের জন্য এর অর্থ তারা সূচি ব্যবহার করে পাশাপাশি কোনও সাধারণ কোয়েরিও করে। আরও জটিল দর্শন / প্রশ্নের জন্য এটি নির্ভর করে যে ক্যোয়ারী পরিকল্পনাকারী কাজটি করা পুনরায় সাজানো এবং অনুকূলিত করতে পারে। এটি দেখার সর্বোত্তম উপায় হ'ল একটি বড় ডেটাসেট বাছাই এবং সেগুলি ব্যবহার করে কিছু উদাহরণের মতামত এবং কোয়েরি তৈরি করা এবং এসএসএমএসের ক্যোয়ারি প্ল্যান ডিসপ্লেটি কিউপি তাদের সাথে কী করে তা বলে।
ডেভিড স্পিলিট

6

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


এই বিবরণগুলি আশাব্যঞ্জক মনে হচ্ছে me আমাকে সেগুলি দেখতে দিন এবং ফলাফলগুলিতে ফিরে আসুন।
বালু

4

জেনেরিক উত্তরটি হ'ল এক্সিকিউশন প্ল্যানটি একবার দেখুন। আপনার সূচিতে যোগ দেওয়া হয়? আপনার আউটপুট ক্ষেত্রগুলি কি সেই সূচকগুলিতে অন্তর্ভুক্ত? আপনি কি দেখার প্রয়োজন কলামগুলি কেবল আউটপুট করছেন?


0

আমি সম্ভবত কি করব, কেবল 2 টি ভিউ তৈরি করা

  • 1 ম দৃশ্যটি আমার অনুসন্ধান করা ক্ষেত্রগুলির মধ্যে কেবলমাত্র; ঠিক সেই ক্ষেত্রগুলি। আমি প্রতিটি সারির জন্য আইডি ক্ষেত্রটি ফিরিয়ে আনব, আরও কী ধরণের টেবিল আপনার সন্ধান করছে। আমি একটি ইউনিয়ন সমস্ত দৃশ্য তৈরি করে এক অনুরূপ কাজ করেছি যা একাধিক সারণী অনুসন্ধান করেছিল। আমি সবেমাত্র আইডি, টাইপ এবং পাঠ্য ক্ষেত্রগুলি অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করেছিলাম, আমি অনুসন্ধান করতে চাই।

  • ২ য় ভিউতে 1 ম ভিউতে সংগৃহীত ফলাফলগুলি প্রদর্শন করা হ্যান্ডেল হবে এবং আপনার ফলাফল প্রদর্শন করার জন্য প্রতিটি টেবিল থাকবে বা সম্ভবত দেখার পরিবর্তে এটি একটি সঞ্চিত পদ্ধতি তৈরি করবে।

আমি নীচে একটি গ্রুপ সহ সমস্ত ইউনিয়ন করব এবং আমি এই সমস্ত বাম আউট জয়েন করব না।

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