নন-এন্টারপিস সংস্করণ এবং পারফরম্যান্সের জন্য নেক্সপ্যান্ড ইঙ্গিত


11

পারফরম্যান্সে পৌঁছানোর জন্য আমাকে সূচী দর্শনগুলি ব্যবহার করতে হবে। যেহেতু আমি এই তুলনা থেকে দেখতে পাচ্ছি সারণির স্ট্যান্ডার্ড সংস্করণ সূচিযুক্ত দর্শনগুলিকে সমর্থন করে না। তবে বিওএল বলে:

ইনডেক্সেড ভিউগুলি এসকিউএল সার্ভারের যে কোনও সংস্করণে তৈরি করা যেতে পারে। এসকিউএল সার্ভার এন্টারপ্রাইজে, ক্যোয়ারী অপ্টিমাইজার স্বয়ংক্রিয়ভাবে সূচকযুক্ত দর্শন বিবেচনা করে। অন্যান্য সমস্ত সংস্করণে একটি সূচিযুক্ত ভিউ ব্যবহার করতে, NOEXPAND টেবিলের ইঙ্গিতটি অবশ্যই ব্যবহার করা উচিত।

সুতরাং এটি কাজ করবে (আমি পারফরম্যান্সের কথা বলছি)

select * from dbo.OrderTotals with (noexpand, index=IXCU_OrderTotals)

এসকিউএল সার্ভার স্ট্যান্ডার্ড সংস্করণে পাশাপাশি এটি কাজ করে

select * from dbo.OrderTotals

এন্টারপ্রাইজ এক?

দেখার জন্য কোড এখানে:

CREATE VIEW dbo.OrderTotals
WITH SCHEMABINDING
AS
select 
    OrderId     =   r.OrderId                   
  , TotalQty            =   SUM(r.Quantity)
  , TotalGrossConsid    =   SUM(r.Price * r.Quantity)
  , XCount      =   COUNT_BIG(*)
from dbo.Order r
group by r.OrderId

CREATE UNIQUE CLUSTERED INDEX IXCU_OrderTotals ON OrderTotals (OrderId)

উত্তর:


14

পার্থক্যটি হ'ল ইঙ্গিত ব্যতীত এন্টারপ্রাইজ সংস্করণ সূচীকরণ ভিউটি ব্যবহার না করার পরিবর্তে বেস টেবিলগুলি সিদ্ধান্ত নিতে পারে।

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

অবশ্যই ওয়াইএমএমভি :-)

সুতরাং, উত্তর দেওয়ার জন্য, আমি যা দেখেছি তার উপর ভিত্তি করে এটি (উচিত?) একই কাজ করবে? অন্যান্য লোকের বিভিন্ন অভিজ্ঞতা থাকতে পারে এবং আমি অন্যান্য উত্তরে আগ্রহী

ইঙ্গিতটি যে কোনও জায়গায় ব্যবহার করা এড়াতে আপনি ইঙ্গিতটির সাহায্যে সূচিযুক্ত ভিউটি অন্য ভিউতে মোড়াতে পারেন: ইঙ্গিতগুলি সমস্ত বাহ্যিক ক্যোয়ারিতে অভ্যন্তরীণভাবে প্রচার করে যাতে স্বয়ংক্রিয়ভাবে নক্সেক্স্যান্ড থাকে।


(নেক্সপ্যান্ড, সূচক = আইএক্সসিইউ_এক্সএক্সএক্সএক্স) অর্ডারটোটালগুলি থেকে * বেছে বেছে স্কিমাবাইন্ডিংয়ের সাথে বাইরের দৃশ্য তৈরি করার চেষ্টা করার সময় আমি "সূচক ইঙ্গিতগুলি স্কিমা-বেইন্ড অবজেক্টের মধ্যে নির্দিষ্ট করা যায় না" got :)
গারিক

2
@garik: আমি স্রেফ NOEXPAND করতাম, সূচক ইঙ্গিতটি ছিল না। যাইহোক কেবল একটি সূচক রয়েছে: এটি ক্লাস্টারড তাই টেবিল স্ক্যান = সূচক স্ক্যান
জিবিএন

কোন আলোচনা। বন্ধ :)
গারিক

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