<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>indexes &#8211; SQLpowered.com</title>
	<atom:link href="https://sqlpowered.com/tag/indexes/feed/" rel="self" type="application/rss+xml" />
	<link>https://sqlpowered.com</link>
	<description>SQL Server + BI</description>
	<lastBuildDate>Mon, 15 Jun 2020 22:49:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://sqlpowered.com/wp-content/uploads/2020/07/FavIcon-e1594067873682-99x100.png</url>
	<title>indexes &#8211; SQLpowered.com</title>
	<link>https://sqlpowered.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Výpis všech indexů a jejich interní a externí fragmentace</title>
		<link>https://sqlpowered.com/vypis-vsech-indexu-a-jejich-interni-a-externi-fragmentace/</link>
					<comments>https://sqlpowered.com/vypis-vsech-indexu-a-jejich-interni-a-externi-fragmentace/#respond</comments>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Wed, 27 Jan 2016 21:02:34 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[indexes]]></category>
		<guid isPermaLink="false">https://sqlpowered.com/?p=31</guid>

					<description><![CDATA[Zjištění míry fragmentace indexů napříč je základní předpoklad pro volbu vhodné strategie optimalizace indexů pomocí rebuild/reorganize operací. Všechny podstatné informace lze získat využitím systémové funkce sys.dm_db_index_physical_stats() a jejím spojením se systémovými pohledy, které nám poskytnou dodatečné informace nutné pro identifikaci indexu. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED GO SELECT o.name...]]></description>
										<content:encoded><![CDATA[<p>Zjištění míry fragmentace indexů napříč je základní předpoklad pro volbu vhodné strategie optimalizace indexů pomocí rebuild/reorganize operací. Všechny podstatné informace lze získat využitím systémové funkce sys.dm_db_index_physical_stats() a jejím spojením se systémovými pohledy, které nám poskytnou dodatečné informace nutné pro identifikaci indexu. <span id="more-31"></span></p>
<pre class="lang:tsql decode:true" title="Seznam indexů a jejich interní a externí fragmentace">SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
GO

SELECT  o.name TableName, ips.index_id IndexId, i.name IndexName, 
        ips.avg_fragmentation_in_percent AS ExtFragmentation,
        ips.avg_page_space_used_in_percent AS IntFragmentation
FROM    ( SELECT object_id, index_id, 
                 avg_fragmentation_in_percent, avg_page_space_used_in_percent
          FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED')
          WHERE index_id &lt;&gt; 0
        ) AS ips
        INNER JOIN sys.indexes i ON i.object_id = ips.object_id AND i.index_id = ips.index_id
        INNER JOIN sys.all_objects o ON ips.object_id = o.object_id
ORDER BY avg_fragmentation_in_percent DESC</pre>
<div id="attachment_61" style="width: 802px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-61" class="wp-image-61 size-full" src="https://sqlpowered.com/wp-content/uploads/2015/06/IndexFragmentation.png" alt="Přehled indexů s interní a externí fragmentací" width="792" height="210" /><p id="caption-attachment-61" class="wp-caption-text">Přehled indexů s interní a externí fragmentací &#8211; příklad po spuštění nad msdb</p></div>
]]></content:encoded>
					
					<wfw:commentRss>https://sqlpowered.com/vypis-vsech-indexu-a-jejich-interni-a-externi-fragmentace/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Rebuild všech indexů v databázi</title>
		<link>https://sqlpowered.com/rebuild-vsech-indexu-v-databazi/</link>
					<comments>https://sqlpowered.com/rebuild-vsech-indexu-v-databazi/#respond</comments>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Wed, 20 Jan 2016 20:52:48 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[indexes]]></category>
		<guid isPermaLink="false">https://sqlpowered.com/?p=28</guid>

					<description><![CDATA[Nedílnou součástí správy databáze z pohledu výkonu je pravidelná údržba indexů, zejména tam, kde databáze není určena především pro čtení, ale míra DML operací převažuje nad čtením dat. Pomocí přiloženého skriptu je možné provést jednorázový rebuild všech indexů ve všech databázích na spravované instanci, případně skript upravit tak, aby rebuildoval indexy...]]></description>
										<content:encoded><![CDATA[<p>Nedílnou součástí správy databáze z pohledu výkonu je pravidelná údržba indexů, zejména tam, kde databáze není určena především pro čtení, ale míra DML operací převažuje nad čtením dat. Pomocí přiloženého skriptu je možné provést jednorázový rebuild všech indexů ve všech databázích na spravované instanci, případně skript upravit tak, aby rebuildoval indexy pouze v jedné nebo více zvolených databázích.<span id="more-28"></span></p>
<p>Součástí skriptu je i možnost konfigurace fill factoru indexů po rebuildu, která určuje míru zaplnění jednotlivých datových stránek indexu a umožňuje tak předejít dělení stránek indexu (page splits) při DML operacích. Fill factor se udává v procentech, kdy 0 a 100 znamenají 100% zaplnění datových stránek.</p>
<pre title="Rebuild všech indexů v rámci instance" class="lang:tsql decode:true">DECLARE @Database NVARCHAR(128)   
DECLARE @Table NVARCHAR(128)  
DECLARE @FillFactor INT 
DECLARE @Stmt NVARCHAR(MAX)  

SET @FillFactor = 90 

DECLARE curDatabase CURSOR FOR  
    SELECT name
    FROM master.dbo.sysdatabases
    --WHERE name = DB_NAME()
    ORDER BY 1  

OPEN curDatabase

FETCH NEXT FROM curDatabase INTO @Database 
WHILE @@FETCH_STATUS = 0 
BEGIN  

    PRINT @Database

    SET @Stmt = 'DECLARE curTable CURSOR FOR 
                    SELECT table_catalog + ''.'' + table_schema + ''.'' + table_name as TableName   
                    FROM ' + @Database + '.INFORMATION_SCHEMA.TABLES 
                    WHERE table_type = ''BASE TABLE'''   

    EXECUTE(@Stmt)  
    
    OPEN curTable   
    
    FETCH NEXT FROM curTable INTO @Table   
    WHILE @@FETCH_STATUS = 0 
    BEGIN   
        
        PRINT '--&gt;' + @Table

        SET @Stmt = 'ALTER INDEX ALL ON [' + @Table + '] REBUILD 
                        WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3), @FillFactor) + ')'  
        
        EXECUTE(@Stmt)  

        FETCH NEXT FROM curTable INTO @Table   
    END   

    CLOSE curTable  
    DEALLOCATE curTable  

    FETCH NEXT FROM curDatabase INTO @Database  
END  

CLOSE curDatabase  
DEALLOCATE curDatabase</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sqlpowered.com/rebuild-vsech-indexu-v-databazi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
