ഉയർന്ന കൺകറൻസി പട്ടികകൾക്കായി പ്രകടനം വർദ്ധിപ്പിക്കുന്നു
ഉയർന്ന ട്രാഫിക് ഡാറ്റാബേസുകൾ കൈകാര്യം ചെയ്യാൻ വെല്ലുവിളിയാകും, പ്രത്യേകിച്ചും പ്രവചനാതീതമായി വളർത്തുന്ന പട്ടികകൾ കൈകാര്യം ചെയ്യുമ്പോൾ. കർശനമായ തുടർച്ചയായ ഓർഡറിനെ പിന്തുടരാത്ത യാന്ത്രിക വർദ്ധിപ്പിക്കുന്ന വിദേശ കീ ഉപയോഗിച്ച് റെക്കോർഡുകൾ ചേർക്കുമ്പോൾ അത്തരം വെല്ലുവിളി ഉയർത്തുന്നു. പതനം
SQL സെർവറിൽ, ദി ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ ഉയർന്ന കൺകറൻസി മൂലം തർക്കത്തിൽ നിന്ന് ബാധിച്ച സൂചികകളിൽ ഉൾപ്പെടുത്തൽ പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനായി സവിശേഷത അവതരിപ്പിച്ചു. എന്നാൽ എല്ലാ സാഹചര്യങ്ങളുടെയും ശരിയായ തിരഞ്ഞെടുപ്പാണോ ഇത്? ബാധകമാകുന്നത് എപ്പോൾ ധാരണയ്ക്ക് ഡാറ്റാബേസ് കാര്യക്ഷമത വർദ്ധിപ്പിക്കും.
ഉപഭോക്താക്കളുടെ ഓർഗനൈസേഷനുകൾ സ്ഥാപിക്കുന്ന ഒരു ഇ-കൊമേഴ്സ് സംവിധാനം സങ്കൽപ്പിക്കുക, പേയ്മെന്റ് സ്ഥിരീകരണത്തിന് ശേഷം മാത്രമാണ് പാക്കേജുകൾ സൃഷ്ടിക്കുന്നത്. പാക്കേജ് ഉൾപ്പെടുത്തലുകളുടെ ക്രമം ഓർഡർ ഐഡികളുടെ പ്രകൃതി ക്രമത്തെ പിന്തുടരുന്നില്ല, സൂചികയിൽ വിഘടനം സൃഷ്ടിക്കുന്നു. ഈ സ്വഭാവം പ്രശ്നങ്ങൾ ബാധിക്കുന്ന പ്രശ്നങ്ങൾ ലോക്കിംഗ് ചെയ്യുന്നതിന് കാരണമാകും.
അതിനാൽ, നിങ്ങൾ പ്രാപ്തമാണോ? ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ നിന്റെ പാക്കേജുകൾ പട്ടിക? ഈ ക്രമീകരണം എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് പര്യവേക്ഷണം ചെയ്യാം, അതിന്റെ നേട്ടങ്ങൾ, നിങ്ങളുടെ ഡാറ്റാബേസ് രംഗം ഒരു നല്ല സ്ഥാനാർത്ഥിയാണിത്. പതനം
ആജ്ഞാപിക്കുക | ഉപയോഗത്തിനുള്ള ഉദാഹരണം |
---|---|
OPTIMIZE_FOR_SEQUENTIAL_KEY | അവസാനമായി ചേർത്ത സൂചിക പേജിലെ തർക്കം കുറച്ചുകൊണ്ട് ഉയർന്ന കൺസറൻസി പരിതസ്ഥിതിയിൽ സൂചിക കാര്യക്ഷമത വർദ്ധിപ്പിക്കുക. |
sys.dm_db_index_operational_stats | ലോക്ക് തർക്കവും പേജ് ലാച്ചും പോലുള്ള സൂചിക പ്രകടനത്തെക്കുറിച്ചുള്ള വിശദമായ സ്ഥിതിവിവരക്കണക്കുകൾ വീണ്ടെടുക്കുന്നു. |
sys.dm_exec_requests | നിലവിൽ തടയുന്ന സെഷനുകൾ കണ്ടെത്തുന്നതിനും സൂചിക ഉപയോഗം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനും നിലവിൽ എക്സിക്യൂട്ട് ചെയ്യുന്നതിന്റെ നിരീക്ഷണം അനുവദിക്കുന്നു. |
DbUpdateException | സി # ൽ, അദ്വിതീയ പരിമിതികളുടെ അല്ലെങ്കിൽ ഡെഡ്ലോക്കുകളുടെ ലംഘനങ്ങൾ പോലുള്ള ഡാറ്റാബേസ് അപ്ഡേറ്റ് പരാജയങ്ങൾ പകർത്തുന്നു. |
ROW_NUMBER() OVER (ORDER BY NEWID()) | ഓർഡർ ഇൻസ്റ്റുകൾക്ക് പുറത്തെടുക്കുന്ന ടെസ്റ്റ് ഡാറ്റ ചേർക്കുന്നതിന് സവിശേഷമായ തുടർച്ചയായി നമ്പറുകൾ സൃഷ്ടിക്കുന്നു. |
ALTER INDEX ... SET (OPTIMIZE_FOR_SEQUENTIAL_KEY = ON) | സൂചിക പുനർനിർമ്മിക്കാതെ തുടർച്ചയായ കീ ഒപ്റ്റിമൈസേഷൻ പ്രാപ്തമാക്കുന്നതിന് നിലവിലുള്ള ഒരു സൂചിക പരിഷ്ക്കരിക്കുന്നു. |
SELECT name, optimize_for_sequential_key FROM sys.indexes | ഒരു നിർദ്ദിഷ്ട സൂചികയ്ക്കായി ഒപ്റ്റിമൈസേഷൻ ക്രമീകരണം പ്രാപ്തമാക്കിയിട്ടുണ്ടോയെന്ന് പരിശോധിക്കുന്നു. |
GETDATE() | ഒരു റെക്കോർഡ് ചേർക്കുമ്പോൾ മാർക്ക് ചെയ്യുന്നതിന് നിലവിലെ സിസ്റ്റം ടൈംസ്റ്റാമ്പ് വീണ്ടെടുക്കുന്നു. |
CREATE CLUSTERED INDEX WITH (OPTIMIZE_FOR_SEQUENTIAL_KEY = ON) | സൃഷ്ടിയുടെ സമയത്ത് തുടർച്ചയായ കീ ഒപ്റ്റിമൈസേഷൻ ഉപയോഗിച്ച് ഒരു പുതിയ ക്ലസ്റ്റേർഡ് സൂചിക സൃഷ്ടിക്കുന്നു. |
TRY ... CATCH | ഡാറ്റാബേസ് ഇടപാടുകൾ പരാജയപ്പെടുമ്പോൾ SQL സെർവറിൽ അല്ലെങ്കിൽ സി # ലെ ഒഴിവാക്കലുകൾ കൈകാര്യം ചെയ്യുന്നു, അത് ക്രാഷുകൾ തടയുന്നു. |
ഉയർന്ന കൺസറൻസി ഉൾപ്പെടുത്തലുകൾക്കായി SQL സെർവർ ഒപ്റ്റിമൈസ് ചെയ്യുന്നു
ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിന് വ്യത്യസ്ത വഴികൾ പ്രദർശിപ്പിക്കുന്ന സ്ക്രിപ്റ്റുകൾ SQL സെർവർ വളരുന്ന ഒരു പട്ടികയിൽ ഉയർന്ന കൺകറൻസി ഉൾപ്പെടുത്തലുകൾ കൈകാര്യം ചെയ്യുന്നതിന് പാക്കേജുകൾ. പരിഹരിച്ചിരിക്കുന്ന പ്രധാന വെല്ലുവിളി ഒരു സൂചികയുടെ അവസാനമായി ചേർത്ത പേജിലെ തർക്കം കുറയ്ക്കുന്നു, അത് പ്രവർത്തനങ്ങൾ ഇല്ലാതാക്കാൻ കഴിയും. പ്രവർത്തനക്ഷമമാക്കുന്നതിലൂടെ ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ, ലാച്ച് തർക്കം കുറച്ചുകൊണ്ട് കൺകറന്റ് ഉൾപ്പെടുത്തലുകൾ നന്നായി കൈകാര്യം ചെയ്യാൻ SQL സെർവറിന് കഴിയും. ഒരു പട്ടിക അതിവേഗം വളരുമ്പോൾ ഈ ക്രമീകരണം പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്, പക്ഷേ കുറച്ച് പ്രവചനാതീതമായ ക്രമത്തിലാണ്. പതനം
ആദ്യ സ്ക്രിപ്റ്റ് പ്രാപ്തമാക്കുന്നതിന് നിലവിലുള്ള ഒരു സൂചിക പരിഷ്ക്കരിക്കുന്നു തുടർച്ചയായ പ്രധാന ഒപ്റ്റിമൈസേഷൻ. ഒന്നിലധികം ഇടപാടുകൾ ഒരേസമയം റെക്കോർഡുകൾ ചേർക്കുമ്പോൾ പ്രകടന തകർച്ച തടയാൻ ഇത് സഹായിക്കുന്നു. എന്റിറ്റി ഫ്രെയിംവർക്ക് ഉപയോഗിച്ച് C # ൽ എഴുതിയ രണ്ടാമത്തെ സ്ക്രിപ്റ്റ്, ഒരു ശ്രമകരമായ ബ്ലോക്ക് ഉപയോഗിച്ച് മനോഹരമായി പരാജയപ്പെടുത്തിയ പരാജയങ്ങൾ മനോഹരമായി കൈകാര്യം ചെയ്യുന്നതിലൂടെ ഒരു ബദൽ സമീപനം നൽകുന്നു. മികച്ച കൺകറൻസി കാരണം ഇടപാട് സംഘർഷങ്ങളോ ഡെഡ്ലോക്കുകളോ സംഭവിക്കുന്ന സാഹചര്യങ്ങളിൽ ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്. ഉദാഹരണത്തിന്, ഒരു ഇ-കൊമേഴ്സ് സിസ്റ്റത്തിൽ, ഉപയോക്താക്കൾ ക്രമരഹിതമായ പാക്കേജിലേക്ക് ഓർഡറുകൾ സ്ഥിരീകരിച്ചേക്കാം, പ്രവചനാതീതമായ പാക്കേജ് ഉൾപ്പെടുത്തലിലേക്ക് നയിക്കുന്നു.
മറ്റൊരു സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു പ്രകടന നിരീക്ഷണ ചോദ്യങ്ങൾ ഒപ്റ്റിമൈസേഷനുകൾ പ്രയോഗിക്കുന്നതിന് മുമ്പും ശേഷവും സൂചിക തർക്കം അളക്കാൻ. അന്വേഷിച്ചുകൊണ്ട് sys.dm_db_index_ENDEX_Stats, ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേറ്റർമാർക്ക് അമിതമായ ലാച്ച് തർക്കം അനുഭവിക്കുകയാണോ എന്ന് പരിശോധിക്കാൻ കഴിയും. കൂടാതെ, ഉപയോഗിക്കുന്നു sys.dm_exec_requests നിലവിൽ പ്രവർത്തിക്കുന്ന ചോദ്യങ്ങളുടെ ട്രാക്കിംഗ് ട്രാക്കിംഗ് അനുവദിക്കുന്നു, സാധ്യതയുള്ള പ്രശ്നങ്ങൾ കണ്ടെത്തുന്നതിന് സഹായിക്കുന്നു. ഈ ആശയങ്ങൾ ഗൈഡ് ഗൈഡ് ഡാറ്റാബേസ് ട്യൂപ്പിംഗ് ശ്രമങ്ങൾ, ഉയർന്ന ലോഡ് പരിതസ്ഥിതികളിൽ ഒപ്റ്റിമൽ പ്രകടനം ഉറപ്പാക്കുന്നു.
അവസാനമായി, ക്രമരഹിതമായ ഓർഡർ ഐഡികൾ ഉപയോഗിച്ച് 10,000 റെക്കോർഡുകൾ ചേർത്ത് ടെസ്റ്റ് സ്ക്രിപ്റ്റ് ഉയർന്ന കീകകളുള്ള സാഹചര്യം അനുകരിക്കുന്നു. പ്രാപ്തമാക്കാമോ എന്ന് ഇത് സാധൂകരിക്കാൻ സഹായിക്കുന്നു ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ തീർച്ചയായും പ്രകടനം മെച്ചപ്പെടുത്തുന്നു. ഉപയോഗിക്കുന്നതിലൂടെ ROU_NURMER () ഓവർ (ന്യൂഐഡി () ഓർഡർ, ഞങ്ങൾ ശ്രേണി ഉൾപ്പെടുത്തലുകൾ സൃഷ്ടിക്കുന്നു, യഥാർത്ഥ ലോക പേയ്മെന്റ് പെരുമാറ്റം അനുകരിക്കുന്നു. ഒപ്റ്റിമൈസേഷൻ തന്ത്രങ്ങൾ കരുത്തുറ്റതും ഉൽപാദന പരിതസ്ഥിതികൾക്ക് ബാധകവുമാണെന്ന് ഇത് ഉറപ്പാക്കുന്നു. ഈ സാങ്കേതിക വിദ്യകൾക്കൊപ്പം, ബിസിനസുകൾക്ക് വലിയ തോതിലുള്ള ഇടപാട് നടപ്പാക്കാൻ കഴിയും. പതനം
ഉയർന്ന കൺസറൻസി ഉൾപ്പെടുത്തലുകൾക്കായി SQL സെർവർ സൂചികകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നു
SQL സെർവറിൽ ടി-SQL ഉപയോഗിക്കുന്ന ഡാറ്റാബേസ് മാനേജുമെന്റ്
-- Enable OPTIMIZE_FOR_SEQUENTIAL_KEY for a clustered indexALTER INDEX PK_Packages ON PackagesSET (OPTIMIZE_FOR_SEQUENTIAL_KEY = ON);-- Verify if the setting is enabledSELECT name, optimize_for_sequential_keyFROM sys.indexesWHERE object_id = OBJECT_ID('Packages');-- Alternative: Creating a new index with the setting enabledCREATE CLUSTERED INDEX IX_Packages_OrderIDON Packages(OrderID)WITH (OPTIMIZE_FOR_SEQUENTIAL_KEY = ON);
ഒരു ക്യൂവിലുള്ള ഉൾപ്പെടുത്തൽ സമീപനത്തിലൂടെ കൺകറൻസി കൈകാര്യം ചെയ്യുന്നു
എന്റിറ്റി ഫ്രെയിംവർക്ക് സി # ഉപയോഗിച്ച് ബാക്ക്-എൻഡ് പരിഹാരം
using (var context = new DatabaseContext()){ var package = new Package { OrderID = orderId, CreatedAt = DateTime.UtcNow }; context.Packages.Add(package); try { context.SaveChanges(); } catch (DbUpdateException ex) { Console.WriteLine("Insert failed: " + ex.Message); }}
പ്രകടന പരിശോധനയിൽ സൂചിക കാര്യക്ഷമത സാധൂകരിക്കുന്നു
SQL ചോദ്യങ്ങളുമായുള്ള പ്രകടന പരിശോധന
-- Measure index contention before enabling the settingSELECT * FROM sys.dm_exec_requestsWHERE blocking_session_id <> 0;-- Simulate concurrent insertsINSERT INTO Packages (OrderID, CreatedAt)SELECT TOP 10000 ROW_NUMBER() OVER (ORDER BY NEWID()), GETDATE()FROM master.dbo.spt_values;-- Check performance metrics after enabling the settingSELECT * FROM sys.dm_db_index_operational_stats(DB_ID(), OBJECT_ID('Packages'), , );
സൂചിക രൂപകൽപ്പന ഉയർന്ന കൺകറൻസി ഉൾപ്പെടുത്തലുകൾ എങ്ങനെ ബാധിക്കുന്നു
പ്രവർത്തനക്ഷമമാക്കുന്നതിനപ്പുറം ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ, ഉയർന്ന കൺകറൻസി ഉൾപ്പെടുത്തലുകൾ മെച്ചപ്പെടുത്തുന്നതിനുള്ള മറ്റൊരു നിർണായക ഘടകം സൂചികകളുടെ രൂപകൽപ്പനയാണ്. ഒരു ക്ലസ്റ്റേർഡ് സൂചിക സൃഷ്ടിയാണെങ്കിൽ പ്രാഥമിക കീ വർദ്ധിപ്പിക്കുന്നുഒരു ഐഡന്റിറ്റി നിരയെപ്പോലെ, സൂചികയുടെ അവസാനം പുതിയ വരികൾ തിരുകുന്നതിന് SQL സെർവർ പ്രവണത കാണിക്കുന്നു. നിരവധി ഇടപാടുകൾ ഒരേസമയം ഡാറ്റ ചേർക്കുമ്പോൾ ഇത് പേജ് ലാച്ച് തർക്കത്തിലേക്ക് നയിക്കുന്നു. എന്നിരുന്നാലും, സൂചികകളെ രൂപകൽപ്പന ചെയ്യുന്നതിലൂടെ വ്യത്യസ്തമായി ഈ പ്രശ്നങ്ങൾ ലഘൂകരിക്കാൻ കഴിയും.
ഒരു ഇതര സമീപനം a അവതരിപ്പിക്കുക എന്നതാണ് ക്ലസ്റ്റേർഡ് സൂചിക ഒരു ടൈംസ്റ്റാമ്പ് ഉൾപ്പെടുന്ന ഒരു മാർഗ്ഗ അല്ലെങ്കിൽ ഒരു സംയോജിത കീ പോലുള്ള കൂടുതൽ വിതരണപരമായ കീയിൽ. മാർഗ്ഗങ്ങൾ വിഘടനത്തിലേക്ക് നയിച്ചേക്കാമെന്നപ്പോൾ, അവ പേജുകളുമായി കൂടുതൽ തുല്യമായി ഉൾക്കൊള്ളുന്നു, തർക്കം കുറയ്ക്കുന്നു. പാർട്ടീഷൻ ചെയ്ത പട്ടികകൾ ഉപയോഗിക്കുന്ന മറ്റൊരു രീതി, അവിടെ ലോജിക്കൽ മാനദണ്ഡങ്ങളെ അടിസ്ഥാനമാക്കി പ്രത്യേക പാർട്ടീഷനുകളിൽ SQL സെർവർ ഡാറ്റ സംഭരിക്കുന്നു. ഒരേ സൂചിക പേജുകൾ ടാർഗെറ്റുചെയ്യാൻ കൺകറന്റ് ഉൾപ്പെടുത്തലുകൾ എല്ലാം കണ്ടില്ലെന്ന് ഇത് ഉറപ്പാക്കുന്നു.
കൂടാതെ, ഉയർന്ന ഉൾപ്പെടുത്തൽ നിരക്കുകളുമായി ഇടപെടുമ്പോൾ, ട്യൂൺ ചെയ്യുന്നതിലൂടെ സംഭരണ എഞ്ചിൻ ഒപ്റ്റിമൈസ് ചെയ്യേണ്ടത് അത്യാവശ്യമാണ് നിറയ്ക്കുന്ന ഘടകം. പൂരിപ്പിക്കൽ ഘടകം ക്രമീകരിക്കൽ സൂചിക പേജുകൾ ഭാവിയിൽ ഉൾപ്പെടുത്തലുകൾക്ക് മതിയായ ഇടമുണ്ടെന്ന് ഉറപ്പാക്കുന്നു, പേജിന്റെ ആവശ്യകത കുറയ്ക്കുന്നു. പോലുള്ള ഉപകരണങ്ങൾ നിരീക്ഷിക്കുന്നു sys.dm_db_index_physical_stats ഫ്രീമെന്റേഷൻ ലെവലുകൾ വിശകലനം ചെയ്യുന്നതിനും മികച്ച സൂചിക പരിപാലന തന്ത്രം നിർണ്ണയിക്കാനും സഹായിക്കുക. ഇവയ്ക്കൊപ്പം ഈ പരിഹാരങ്ങൾ നടപ്പിലാക്കുന്നു ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ ഉയർന്ന കൺസറൻസി പരിതസ്ഥിതിയിൽ ഡാറ്റാബേസ് പ്രകടനം ഗണ്യമായി മെച്ചപ്പെടുത്താൻ കഴിയും. പതനം
SQL സെർവർ സൂചിക ഒപ്റ്റിമൈസേഷനെക്കുറിച്ച് പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ
- എന്താണു OPTIMIZE_FOR_SEQUENTIAL_KEY യഥാർത്ഥത്തിൽ ചെയ്യണോ?
- ഒരു സൂചികയുടെ അവസാനമായി ചേർത്ത പേജിൽ ഇത് റദ്ദാക്കുന്നു, ഉയർന്ന-കൺകറൻസി ഉൾപ്പെടുത്തൽ സാഹചര്യങ്ങളിൽ പ്രകടനം മെച്ചപ്പെടുത്തുന്നു.
- ഞാൻ എല്ലായ്പ്പോഴും പ്രാപ്തമാക്കണോ OPTIMIZE_FOR_SEQUENTIAL_KEY സൂചികകളിൽ?
- ഇല്ല, ഒരു ക്ലസ്റ്റേർഡ് ഇന്ഡക്സിന്റെ അവസാന പേജിൽ, സാധാരണഗതിയിൽ ഐഡന്റിറ്റി നിരകളുമായി ബന്ധപ്പെട്ട ഒരു തർക്കം ഉള്ളപ്പോൾ ഇത് ഏറ്റവും പ്രയോജനകരമാണ്.
- എനിക്ക് ഉപയോഗിക്കാമോ GUIDs തർക്കം ഒഴിവാക്കാൻ ഐഡന്റിറ്റി നിരകൾക്ക് പകരം?
- അതെ, പക്ഷേ മാസികകൾ ഉപയോഗിക്കുന്നത് വിഘടനത്തിലേക്ക് നയിച്ചേക്കാം, അധിക സൂചിക പരിപാലനം ആവശ്യമാണ്.
- എന്റെ സൂചിക തർക്കമുണ്ടോ എന്ന് എനിക്ക് എങ്ങനെ പരിശോധിക്കാം?
- ഉപയോഗം sys.dm_db_index_operational_stats ലാച്ച് തർക്കം നിരീക്ഷിക്കാനും മന്ദഗതിയിലുള്ള സൂചികകൾ തിരിച്ചറിയാനും.
- ഉയർന്ന കൺകറൻസി ഉൾപ്പെടുത്തലുകൾക്ക് മറ്റ് ഏത് ഒപ്റ്റിമൈസേഷനുകൾ സഹായിക്കുന്നു?
- പട്ടിക പാർട്ടീഷനിംഗ്, ട്യൂൺ ചെയ്യുന്നു fill factor, ഉചിതമായ സൂചിക ഘടനകൾ തിരഞ്ഞെടുക്കുന്നതിന് പ്രകടനം വർദ്ധിപ്പിക്കാൻ കഴിയും.
SQL സെർവർ ഒപ്റ്റിമൈസേഷനിലെ അന്തിമ ചിന്തകൾ
പ്രാപ്തമാക്കണമോ എന്ന് തിരഞ്ഞെടുക്കുന്നു ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ നിങ്ങളുടെ പട്ടികയുടെ തിരുകുക പാറ്റേണുകളുടെ സ്വഭാവത്തെ ആശ്രയിച്ചിരിക്കുന്നു. ഐഡന്റിറ്റി അടിസ്ഥാനമാക്കിയുള്ള സൂചികയിൽ കനത്ത കനത്ത ഉൾപ്പെടുത്തലുകൾ നിങ്ങളുടെ ഡാറ്റാബേസിൽ അനുഭവപ്പെടുകയാണെങ്കിൽ, ഈ ക്രമീകരണം തർക്കത്തെ കുറയ്ക്കുന്നതിനും പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനും സഹായിക്കും. എന്നിരുന്നാലും, സ്വാഭാവികമായും വിതരണം ചെയ്ത ഉൾപ്പെടുത്തലുകളുള്ള പട്ടികകൾക്കായി, ഇതര സൂചികയുള്ള തന്ത്രങ്ങൾ കൂടുതൽ ഫലപ്രദമായിരിക്കാം.
ഒപ്റ്റിമൽ പ്രകടനം നിലനിർത്തുന്നതിന്, ഇനിപ്പറയുന്ന ഉപകരണങ്ങൾ ഉപയോഗിച്ച് സൂചിക ആരോഗ്യം നിരീക്ഷിക്കുക sys.dm_db_index_ENDEX_Stats. കൂടാതെ, പാർട്ടീഷൻ ചെയ്യുന്നതിനോ അല്ലെങ്കിൽ കാര്യക്ഷമത വർദ്ധിപ്പിക്കുന്നതിന് പൂരിപ്പിക്കൽ ഘടകം ക്രമീകരിക്കുന്നതിനോ ഉള്ള തന്ത്രങ്ങൾ പരിഗണിക്കുക. ശരിയായി നടപ്പിലാക്കുമ്പോൾ, ഉയർന്ന ട്രാഫിക് അപ്ലിക്കേഷനുകൾ കനത്ത ലോഡിന് കീഴിൽ വേഗത്തിലും അളക്കാലും പ്രതികരണവും തുടരുന്നുവെന്ന് ഈ ഒപ്റ്റിമൈസേഷനുകൾ ഉറപ്പാക്കുന്നു. പതനം
കൂടുതൽ വായനയും റഫറൻസുകളും
- Microsoft ദ്യോഗിക മൈക്രോസോഫ്റ്റ് ഡോക്യുമെന്റേഷൻ ഓൺ ഒപ്റ്റിമൈസ്__ഫെർഷനൽ_കീ: Microsoft SQL സെർവർ ഡോക്സ് .
- SQL സെർവറിനായുള്ള പ്രകടനം ട്യൂണിംഗ്, ഇൻഡെക്സിംഗ് തന്ത്രങ്ങൾ: SQL ഷാക്ക് ഇൻഡെക്സിംഗ് ഗൈഡ് .
- SQL സെർവറിൽ ഉയർന്ന കൺകറൻസി ഉൾപ്പെടുത്തലുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള മികച്ച പരിശീലനങ്ങൾ: ബ്രെന്റ് ഓസാറിന്റെ SQL പ്രകടനം ബ്ലോഗ് .
- SQL സെർവർ ലാച്ച് തർക്കം മനസിലാക്കുക, അത് എങ്ങനെ പരിഹരിക്കും: ലളിതമായ സംസാരം റെഡ്ഗേറ്റ് ചെയ്യുക .