<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Table Partitioning on Cathrine Wilhelmsen</title>
    <link>https://www.cathrinewilhelmsen.net/tags/table-partitioning/</link>
    <description>Recent content in Table Partitioning on Cathrine Wilhelmsen</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>© Cathrine Wilhelmsen</copyright>
    <lastBuildDate>Fri, 06 Aug 2021 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://www.cathrinewilhelmsen.net/tags/table-partitioning/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Table Partitioning in SQL Server - Partition Switching</title>
      <link>https://www.cathrinewilhelmsen.net/table-partitioning-in-sql-server-partition-switching/</link>
      <pubDate>Sun, 19 Apr 2015 19:00:44 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/table-partitioning-in-sql-server-partition-switching/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/images/sql/CathrineWilhelmsenSQLServerTablePartitioning_PartitionSwitching.svg&#34;&gt;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/sql/CathrineWilhelmsenSQLServerTablePartitioning_PartitionSwitching.svg&#34; alt=&#34;Partition Switching in SQL Server.&#34; width=&#34;350&#34; height=&#34;350&#34; class=&#34;alignleft width-350&#34; loading=&#34;lazy&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Inserts, updates and deletes on large tables can be very slow and expensive, cause locking and blocking, and even fill up the transaction log. One of the main benefits of table partitioning is that you can speed up loading and archiving of data by using &lt;em&gt;partition switching&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Partition switching moves entire partitions between tables almost instantly. It is extremely fast because it is a metadata-only operation that updates the location of the data, no data is physically moved. New data can be loaded to separate tables and then &lt;em&gt;switched in&lt;/em&gt;, old data can be &lt;em&gt;switched out&lt;/em&gt; to separate tables and then archived or purged. All data preparation and manipulation can be done in separate tables without affecting the partitioned table.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Table Partitioning in SQL Server - The Basics</title>
      <link>https://www.cathrinewilhelmsen.net/table-partitioning-in-sql-server/</link>
      <pubDate>Sun, 12 Apr 2015 15:15:03 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/table-partitioning-in-sql-server/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/images/sql/CathrineWilhelmsenSQLServerTablePartitioning_CheatSheet.svg&#34;&gt;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/sql/CathrineWilhelmsenSQLServerTablePartitioning_CheatSheet.svg&#34; alt=&#34;Cheat Sheet of Table Partitioning in SQL Server.&#34; width=&#34;200&#34; height=&#34;200&#34; class=&#34;alignleft width-200&#34; loading=&#34;lazy&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;There are many benefits of partitioning large tables. You can speed up loading and archiving of data, you can perform maintenance operations on individual partitions instead of the whole table, and you may be able to improve query performance. However, implementing table partitioning is not a trivial task and you need a good understanding of how it works to implement and use it correctly.&lt;/p&gt;&#xA;&lt;p&gt;Being a business intelligence and data warehouse developer, not a DBA, it took me a while to understand table partitioning. I had to read a lot, get plenty of hands-on experience and make some mistakes along the way. (&lt;em&gt;The illustration to the left is my Table Partitioning Cheat Sheet.&lt;/em&gt;) This post covers the &lt;em&gt;basics&lt;/em&gt; of partitioned tables, partition columns, partition functions and partition schemes.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
