- 03/02/2017
- 3 minuter att läsa
-
- m
- M
- J
- r
- M
-
+3
Gäller följande: SQL Server (alla versioner som stöds)
Det här avsnittet beskriver hur du konfigurerar kostnadsgränsen för serverkonfigurationsalternativet för parallellism i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Alternativet Kostnadströskel för parallellism anger den tröskel vid vilken SQL Server skapar och kör parallella planer för frågor. SQL Server skapar och kör en parallell plan för en fråga endast när den uppskattade kostnaden för att köra en seriell plan för samma fråga är högre än det värde som anges i kostnadströskel för parallellism. Kostnaden avser en uppskattad kostnad som krävs för att köra den seriella planen på en specifik maskinvarukonfiguration och är inte en tidsenhet. Alternativet Kostnadströskel för parallellism kan ställas in på ett värde mellan 0 och 32767. Standardvärdet är 5.
I det här ämnet
-
För att börja:
Begränsningar och restriktioner
Rekommendationer
Säkerhet
-
För att konfigurera alternativet Kostnadströskel för parallellitet använder du:
SQL Server Management Studio
Transact-SQL
-
Följ upp: När du har konfigurerat kostnadströskeln för parallelliseringsalternativet
- Innan du börjar
- Begränsningar och begränsningar
- Rekommendationer
- Säkerhet
- Behörigheter
- Använda SQL Server Management Studio
- För att konfigurera kostnadströskeln för parallelliseringsalternativet
- Använda Transact-SQL
- För att konfigurera alternativet Kostnadströskel för parallellism
- Uppföljning: När du har konfigurerat kostnadströskeln för parallelliseringsalternativet
- Se även
Innan du börjar
Begränsningar och begränsningar
-
Kostnaden hänvisar till en abstraherad kostenhet och inte till en uppskattad tidsenhet. Ange endast kostnadströskel för parallellism på symmetriska multiprocessorer.
-
SQL Server ignorerar värdet för kostnadströskel för parallellism under följande förhållanden:
-
Din dator har endast en logisk processor.
-
Endast en enda logisk processor är tillgänglig för SQL Server på grund av konfigurationsalternativet affinitetsmask.
-
Objektet max grad av parallellitet är inställt på 1.
-
En logisk processor är den grundläggande enheten för processorhårdvara som gör det möjligt för operativsystemet att skicka en uppgift eller utföra en trådkontext. Varje logisk processor kan endast utföra en trådkontext åt gången. Processorkärnan är den krets som ger förmåga att avkoda och utföra instruktioner. En processorkärna kan innehålla en eller flera logiska processorer. Följande Transact-SQL-fråga kan användas för att få CPU-information för systemet.
SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs, cpu_count AS logicalCPUs FROM sys.dm_os_sys_info
Rekommendationer
-
Det här alternativet är ett avancerat alternativ och bör endast ändras av en erfaren databasadministratör eller certifierad SQL Server-specialist.
-
I vissa fall kan en parallell plan väljas trots att frågespillets kostnadsplan är lägre än det aktuella värdet för kostnadströskel för parallellism. Detta kan hända eftersom beslutet att använda en parallell eller seriell plan baseras på en kostnadsberäkning som tillhandahållits tidigare i optimeringsprocessen. Mer information finns i Arkitekturguiden för frågebehandling.
-
Men även om standardvärdet 5 är lämpligt för de flesta system kan ett annat värde vara lämpligt. Utför applikationstester med högre och lägre värden om det behövs för att optimera applikationens prestanda.
Säkerhet
Behörigheter
Exekveringsbehörigheter för sp_configure utan parametrar eller med endast den första parametern ges som standard till alla användare. För att utföra sp_configure med båda parametrarna för att ändra ett konfigurationsalternativ eller för att köra RECONFIGURE-anvisningen måste en användare beviljas behörigheten ALTER SETTINGS på servernivå. Behörigheten ALTER SETTINGS innehas implicit av de fasta serverrollerna sysadmin och serveradmin.
Använda SQL Server Management Studio
För att konfigurera kostnadströskeln för parallelliseringsalternativet
-
Högerklicka på en server i Object Explorer och välj Egenskaper.
-
Klicka på noden Avancerat.
-
Under Parallellism ändrar du alternativet Kostnadströskel för parallellism till det värde du vill ha. Skriv eller välj ett värde mellan 0 och 32767.
Använda Transact-SQL
För att konfigurera alternativet Kostnadströskel för parallellism
-
Anslut till databasmotorn.
-
Klicka på Ny fråga i standardfältet.
-
Kopiera och klistra in följande exempel i frågefönstret och klicka på Utför. Det här exemplet visar hur du använder sp_configure för att ställa in värdet för alternativet
cost threshold for parallelism
till10
.
USE AdventureWorks2012 ; GO EXEC sp_configure 'show advanced options', 1 ; GO RECONFIGURE GO EXEC sp_configure 'cost threshold for parallelism', 10 ; GO RECONFIGURE GO
För mer information, se Serverkonfigurationsalternativ (SQL Server).
Uppföljning: När du har konfigurerat kostnadströskeln för parallelliseringsalternativet
Inställningen börjar gälla omedelbart utan att du behöver starta om servern.
Se även
Konfigurera parallella indexoperationer
Förfrågningstips (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Affinitetsmask Serverkonfigurationsalternativ
RECONFIGURERA (Transact-SQL)
Serverkonfigurationsalternativ (SQL Server)
sp_configure (Transact-SQL)