{"id":32503,"date":"2026-03-16T07:26:51","date_gmt":"2026-03-16T14:26:51","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=32503"},"modified":"2026-03-16T08:31:32","modified_gmt":"2026-03-16T15:31:32","slug":"tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/","title":{"rendered":"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact"},"content":{"rendered":"<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><\/blockquote>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Key_Takeaways\"><\/span><strong>Key Takeaways<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TiDB X builds indexes at up to 5.5M rows\/s \u2014 72x faster than traditional online DDL.<\/li>\n\n\n\n<li>DXF splits index tasks across multiple nodes, scaling throughput near-linearly.<\/li>\n\n\n\n<li>Global Sort eliminates SST overlaps, reducing compactions and stabilizing TiKV performance.<\/li>\n\n\n\n<li>Elastic worker clusters offload index computation from production, keeping QPS and latency stable.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<p>Adding an index has always been a sensitive operation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For small tables, TiDB Online DDL with Fast DDL (Ingest) already improved performance significantly up to\u00a010\u00d7 faster\u00a0than traditional transactional DDL since v6.5.0, as we described in\u00a0<a href=\"https:\/\/www.pingcap.com\/ko\/blog\/how-tidb-achieves-10x-performance-gains-in-online-ddl\/\">How TiDB Achieves 10x Performance Gains in Online DDL<\/a>.<\/li>\n\n\n\n<li>However, as tables grow to\u00a0hundreds of TBs\u00a0and production clusters run\u00a0more business workloads, the old approaches start to hit new limits:\n<ul class=\"wp-block-list\">\n<li>Single-node DDL owner can become a\u00a0CPU\/IO bottleneck.<\/li>\n\n\n\n<li>Distributed index builds introduce\u00a0SST overlaps, causing compactions and extra load on TiKV.<\/li>\n\n\n\n<li>Even optimized ingest still consumes production cluster resources, risking QPS and latency fluctuations.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>The challenge is clear:\u00a0How do we build indexes that are fast, stable, and minimally disruptive, even at massive scale?<\/p>\n\n\n\n<p><a href=\"https:\/\/www.pingcap.com\/ko\/blog\/introducing-tidb-x-a-new-foundation-distributed-sql-ai-era\/\">TiDB X<\/a>, the latest version of TiDB that introduces dedicated object storage, addresses this problem through a combination of\u00a0three major innovations:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-distributed-execution-framework\/\">DXF\u00a0(Distributed Execution Framework)<\/a><\/strong>: Distributes index tasks across multiple nodes to dramatically improve performance.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-global-sort\/#:~:text=The%20TiDB%20Global%20Sort%20feature,global%20sort%20service%20on%20cloud.\">Global Sort<\/a><\/strong>: Globally orders index SST files before ingestion, reducing RocksDB compactions and stabilizing TiKV.<\/li>\n\n\n\n<li><strong>Elastic Worker Clusters with Side-loading<\/strong>: Moves most index computation out of the production cluster, further minimizing impact on online workloads.<\/li>\n<\/ol>\n\n\n\n<p>In this blog, we explain why each innovation was needed, how it works, and how together they achieve 5.5M rows\/s with near-zero business impact.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"DXF_Distributed_Execution_Framework\"><\/span>DXF: Distributed Execution Framework<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Why DXF? <a href=\"https:\/\/docs.pingcap.com\/best-practices\/ddl-introduction\/\">Fast DDL<\/a> with Ingest removed the transactional bottleneck, but large tables still suffered from single-node limits:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Only one DDL owner node executes the ADD INDEX job, which may max out the node\u2019s CPU and I\/O.<\/li>\n\n\n\n<li>Other cluster tasks experienced contention.<\/li>\n\n\n\n<li>Only one index build could run at a time.<\/li>\n<\/ul>\n\n\n\n<p><strong>Solution:<\/strong>\u00a0DXF splits a single Add Index task into\u00a0multiple subtasks, which are scheduled across multiple\u00a0TiDB\u00a0nodes. Subtasks run\u00a0in parallel.<\/p>\n\n\n\n<p><strong>How it works<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"2489\" height=\"769\" src=\"https:\/\/static.pingcap.com\/files\/2026\/03\/16072643\/316f9084-9a7b-49d0-99fa-8bfc80b420a1.png\" alt=\"TiDB online DDL scheduler\u00a0distributing\u00a0index\u00a0tasks\u00a0to\u00a0nodes.\" class=\"wp-image-32508\" srcset=\"https:\/\/static.pingcap.com\/files\/2026\/03\/16072643\/316f9084-9a7b-49d0-99fa-8bfc80b420a1.png 2489w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072643\/316f9084-9a7b-49d0-99fa-8bfc80b420a1-300x93.png 300w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072643\/316f9084-9a7b-49d0-99fa-8bfc80b420a1-1024x316.png 1024w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072643\/316f9084-9a7b-49d0-99fa-8bfc80b420a1-768x237.png 768w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072643\/316f9084-9a7b-49d0-99fa-8bfc80b420a1-1536x475.png 1536w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072643\/316f9084-9a7b-49d0-99fa-8bfc80b420a1-2048x633.png 2048w\" sizes=\"auto, (max-width: 2489px) 100vw, 2489px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Figure 1: Scheduler\u00a0distributing\u00a0index\u00a0tasks\u00a0to\u00a0nodes<\/em>.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Scheduler divides the table\u2019s index key ranges into subtasks.<\/li>\n\n\n\n<li>Each TiDB node processes its subtasks independently, building local index data and ingest into TiKV.<\/li>\n\n\n\n<li>When all subtasks complete, TiDB merges and commits the results.<\/li>\n<\/ol>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Index build throughput scales\u00a0near-linearly\u00a0with node count.<\/li>\n\n\n\n<li>Large tables indexed\u00a0much faster, without overloading a single node.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>\uc0ac\ub840<\/strong><\/td><td><strong>Index Creation Method<\/strong><\/td><td><strong>Rows<\/strong><\/td><td><strong>Node Count<\/strong><\/td><td><strong>Avg Time<\/strong><\/td><td><strong>Performance vs&nbsp;<\/strong><strong>Transaction<\/strong><strong>&nbsp;<\/strong><strong>DDL<\/strong><\/td><\/tr><tr><td>1<\/td><td>Transaction Online DDL<\/td><td>1,000,000,000<\/td><td>1<\/td><td>12h 21m<\/td><td>1\u00d7<\/td><\/tr><tr><td>2<\/td><td>Fast DDL<\/td><td>1,000,000,000<\/td><td>1<\/td><td>30m<\/td><td>24\u00d7<\/td><\/tr><tr><td>3<\/td><td>Fast DDL + (DXF)<\/td><td>1,000,000,000<\/td><td>2<\/td><td>14\u201315m<\/td><td>48\u00d7<\/td><\/tr><tr><td>4<\/td><td>Fast DDL + (DXF)<\/td><td>1,000,000,000<\/td><td>3<\/td><td>10m<\/td><td>72\u00d7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Note:<\/strong> These numbers illustrate the relative performance differences between index creation strategies and may not represent all production environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Global_Sort_Reducing_RocksDB_Impact\"><\/span>Global Sort: Reducing RocksDB Impact<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Why Global Sort? DXF distributes work but introduces a new problem: Overlapping Index SST files across nodes. This causes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Frequent compactions in <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/rocksdb-overview\/\">RocksDB<\/a>.<\/li>\n\n\n\n<li>Higher write amplification.<\/li>\n\n\n\n<li>Unpredictable load on TiKV.<\/li>\n<\/ul>\n\n\n\n<p><strong>Solution:<\/strong>\u00a0Global Sort ensures\u00a0all Index SST files are globally ordered\u00a0before ingestion.<\/p>\n\n\n\n<p><strong>How it works<\/strong>:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Scan &amp; Metadata Collection<\/strong>\u00a0\u2013 TiDB workers scan the table and locally sort blocks of key\/value data. Along with the data blocks, they generate metadata describing the key ranges and offsets of each block and upload it to S3 so any node in the cluster can access it.<\/li>\n\n\n\n<li><strong>Global Partitioning<\/strong>\u00a0\u2013 The scheduler reads all metadata files and performs a global merge to determine\u00a0balanced, non-overlapping key partitions. Each partition corresponds to a continuous key range, and the scheduler assigns it to a specific worker.<\/li>\n\n\n\n<li><strong>Parallel Sorting &amp; SST Generation<\/strong>\u00a0\u2013 Workers download the data blocks belonging to their assigned partitions, perform a final merge-sort, and generate\u00a0globally ordered SST files\u00a0that can be safely ingested into RocksDB without key overlap.<\/li>\n<\/ol>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eliminates SST overlaps.<\/li>\n\n\n\n<li>Reduces compactions and write amplification.<\/li>\n\n\n\n<li>Stabilizes TiKV performance.<\/li>\n\n\n\n<li>Supports one\u00a0table up to 600 TB.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Job ID<\/td><td>Table Data Size<\/td><td>Rows<\/td><td>Row Size<\/td><td>DXF Nodes<\/td><td>Node Specification<\/td><td>Index Column<\/td><td>Index Creation Time<\/td><td>Performance<\/td><\/tr><tr><td>1<\/td><td>200 TB<\/td><td>8 billion<\/td><td>26.84 KB<\/td><td>25<\/td><td>8 vCPU, 32 GB<\/td><td>bigint<\/td><td>19min 10s<\/td><td>6.96 M rows\/s<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"TiDB_X_Elastic_Worker_Clusters_Side-Loading\"><\/span>TiDB X: Elastic Worker Clusters &amp; Side-Loading<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Why Elastic Workers? Even with DXF + Global Sort, production nodes still perform part of the workload, which can affect QPS and latency in busy clusters.<\/p>\n\n\n\n<p><strong>Solution:<\/strong>\u00a0TiDB X dynamically provisions\u00a0isolated, elastic worker nodes\u00a0to handle index builds while decoupling index creation via\u00a0side-loading:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"4241\" height=\"619\" src=\"https:\/\/static.pingcap.com\/files\/2026\/03\/16072644\/f71ea0d5-5035-462e-932c-8c5ae88d8f36.png\" alt=\"\" class=\"wp-image-32509\" srcset=\"https:\/\/static.pingcap.com\/files\/2026\/03\/16072644\/f71ea0d5-5035-462e-932c-8c5ae88d8f36.png 4241w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072644\/f71ea0d5-5035-462e-932c-8c5ae88d8f36-300x44.png 300w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072644\/f71ea0d5-5035-462e-932c-8c5ae88d8f36-1024x149.png 1024w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072644\/f71ea0d5-5035-462e-932c-8c5ae88d8f36-768x112.png 768w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072644\/f71ea0d5-5035-462e-932c-8c5ae88d8f36-1536x224.png 1536w, https:\/\/static.pingcap.com\/files\/2026\/03\/16072644\/f71ea0d5-5035-462e-932c-8c5ae88d8f36-2048x299.png 2048w\" sizes=\"auto, (max-width: 4241px) 100vw, 4241px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Figure 2: TiDB\u00a0X&#8217;s elastic\u00a0worker nodes\u00a0decoupling\u00a0index\u00a0creation<\/em>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DXF automatically scales out the corresponding TiDB workers and TiKV workers based on the size of the index you&#8217;re adding.<\/li>\n\n\n\n<li>TiDB Workers process index column scanning, sorting, and index SST generation.<\/li>\n\n\n\n<li>TiKV workers upload SSTs to S3, and tenant production TiKV nodes download the index SST files asynchronously.<\/li>\n\n\n\n<li>The scheduler monitors task progress and dynamically scales workers in or out.<\/li>\n<\/ul>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Most of the computation is\u00a0moved out of the production cluster.<\/li>\n\n\n\n<li>Peak Add Index throughput:\u00a0up to 5.5M rows\/s.<\/li>\n\n\n\n<li>Online QPS and P99 latency remain stable.<\/li>\n<\/ul>\n\n\n\n<p><strong>Note:<\/strong>\u00a0During final SSTs download, tenant production TiKV still participates. For extremely large indexes or resource-constrained tenant TiKV nodes, minor IO\/network contention may occur. Compared with traditional workflows,\u00a0impact is dramatically reduced.\u00a0<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion_Add_Index_Should_Not_Be_a_Gamble\"><\/span>Conclusion: Add Index Should Not Be a Gamble<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>For years, adding an index on a large table meant the same ritual: Schedule a maintenance window, alert the on-call team, and hope nothing breaks. That era is over.<\/p>\n\n\n\n<p>With DXF, Global Sort, and elastic worker clusters, TiDB X turns index creation from a calculated risk into a routine operation: 5.5M rows\/s with near-zero impact on the workloads your users actually care about. No maintenance windows. No prayer-driven deployments.<\/p>\n\n\n\n<p>And this is just one example of what becomes possible when TiDB online DDL infrastructure is redesigned for true distributed execution. We&#8217;re applying the same principles across TiDB X to make every large-scale schema change faster, safer, and more predictable.<\/p>\n\n\n\n<p><em>Ready\u00a0to\u00a0experience\u00a0fast,\u00a0low-impact\u00a0index\u00a0creation? <a href=\"https:\/\/tidbcloud.com\/free-trial\/?__hstc=86493575.783064bfcc857ae1a573df16c96a21a4.1767977986672.1773526269408.1773671035025.238&amp;__hssc=86493575.7.1773671035025&amp;__hsfp=ef5d7ef781d92d519fb04a5267e98d6c&amp;_gl=1*1dlwy0i*_gcl_au*NzgzNDI4MDk1LjE3Njc5ODI1NzU.*_ga*MjUyOTQyMTU0LjE3Njc5Nzc5ODQ.*_ga_9FRXHHPYVY*czE3NzM2NzEwMzMkbzI1OSRnMSR0MTc3MzY3MjYyOCRqNTkkbDAkaDA.*_ga_3JVXJ41175*czE3NzM2NzEwMzMkbzI2MiRnMSR0MTc3MzY3MjYyOSRqNTkkbDAkaDExMTM1ODk2MjI.*_ga_ZEL0RNV6R2*czE3NzM2NzEwMzMkbzIzNCRnMSR0MTc3MzY3MjYyOCRqNjAkbDAkaDA.\">Try\u00a0these\u00a0capabilities\u00a0in TiDB Cloud<\/a> and see how TiDB X can accelerate operations in your production workloads. <\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Adding an index has always been a sensitive operation: The challenge is clear:\u00a0How do we build indexes that are fast, stable, and minimally disruptive, even at massive scale? TiDB X, the latest version of TiDB that introduces dedicated object storage, addresses this problem through a combination of\u00a0three major innovations: In this blog, we explain why [&hellip;]<\/p>\n","protected":false},"author":217,"featured_media":32504,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[6],"tags":[147,478,14,477,111],"class_list":["post-32503","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-distributed-sql","tag-microservices","tag-mysql","tag-stored-procedures","tag-tidb"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png","author_info":{"display_name":"Frank Shen","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/frank-shen\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TiDB Online DDL: Build Indexes at 5.5M Rows\/s, Zero Downtime<\/title>\n<meta name=\"description\" content=\"Online DDL in TiDB X now combines distributed execution, global sort, and elastic workers for fast, production-safe index creation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TiDB Online DDL: Build Indexes at 5.5M Rows\/s, Zero Downtime\" \/>\n<meta property=\"og:description\" content=\"Online DDL in TiDB X now combines distributed execution, global sort, and elastic workers for fast, production-safe index creation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-16T14:26:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-16T15:31:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2026\/03\/16070507\/Copy-of-Banner-2%EF%B9%951-B.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Frank Shen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/static.pingcap.com\/files\/2026\/03\/13122613\/tidb_twitter_1600x900-1.png\" \/>\n<meta name=\"twitter:creator\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Frank Shen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\"},\"author\":{\"name\":\"Frank Shen\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/5ce2b888056ba207859708263576f196\"},\"headline\":\"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact\",\"datePublished\":\"2026-03-16T14:26:51+00:00\",\"dateModified\":\"2026-03-16T15:31:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\"},\"wordCount\":1021,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png\",\"keywords\":[\"Distributed SQL\",\"Microservices\",\"MySQL\",\"Stored Procedures\",\"TiDB\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\",\"name\":\"TiDB Online DDL: Build Indexes at 5.5M Rows\/s, Zero Downtime\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png\",\"datePublished\":\"2026-03-16T14:26:51+00:00\",\"dateModified\":\"2026-03-16T15:31:32+00:00\",\"description\":\"Online DDL in TiDB X now combines distributed execution, global sort, and elastic workers for fast, production-safe index creation.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png\",\"width\":1800,\"height\":600,\"caption\":\"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact Featured Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pingcap.com\/#website\",\"url\":\"https:\/\/www.pingcap.com\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pingcap.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pingcap.com\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\/\/www.pingcap.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/pingcap2015\",\"https:\/\/x.com\/PingCAP\",\"https:\/\/linkedin.com\/company\/pingcap\",\"https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/5ce2b888056ba207859708263576f196\",\"name\":\"Frank Shen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2025\/05\/02070730\/20250502-100339-150x150.jpeg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2025\/05\/02070730\/20250502-100339-150x150.jpeg\",\"caption\":\"Frank Shen\"},\"description\":\"Product Manager\",\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/frank-shen\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TiDB Online DDL: Build Indexes at 5.5M Rows\/s, Zero Downtime","description":"Online DDL in TiDB X now combines distributed execution, global sort, and elastic workers for fast, production-safe index creation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pingcap.com\/ko\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/","og_locale":"ko_KR","og_type":"article","og_title":"TiDB Online DDL: Build Indexes at 5.5M Rows\/s, Zero Downtime","og_description":"Online DDL in TiDB X now combines distributed execution, global sort, and elastic workers for fast, production-safe index creation.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2026-03-16T14:26:51+00:00","article_modified_time":"2026-03-16T15:31:32+00:00","og_image":[{"width":1800,"height":900,"url":"https:\/\/static.pingcap.com\/files\/2026\/03\/16070507\/Copy-of-Banner-2%EF%B9%951-B.png","type":"image\/png"}],"author":"Frank Shen","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.pingcap.com\/files\/2026\/03\/13122613\/tidb_twitter_1600x900-1.png","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Frank Shen","Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/"},"author":{"name":"Frank Shen","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/5ce2b888056ba207859708263576f196"},"headline":"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact","datePublished":"2026-03-16T14:26:51+00:00","dateModified":"2026-03-16T15:31:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/"},"wordCount":1021,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png","keywords":["Distributed SQL","Microservices","MySQL","Stored Procedures","TiDB"],"articleSection":["Engineering"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/","url":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/","name":"TiDB Online DDL: Build Indexes at 5.5M Rows\/s, Zero Downtime","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png","datePublished":"2026-03-16T14:26:51+00:00","dateModified":"2026-03-16T15:31:32+00:00","description":"Online DDL in TiDB X now combines distributed execution, global sort, and elastic workers for fast, production-safe index creation.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png","width":1800,"height":600,"caption":"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact Featured Image"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]},{"@type":"Person","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/5ce2b888056ba207859708263576f196","name":"Frank Shen","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/","url":"https:\/\/static.pingcap.com\/files\/2025\/05\/02070730\/20250502-100339-150x150.jpeg","contentUrl":"https:\/\/static.pingcap.com\/files\/2025\/05\/02070730\/20250502-100339-150x150.jpeg","caption":"Frank Shen"},"description":"Product Manager","url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/frank-shen\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/tidb-x-index-creation-5-5m-rows-near-zero-business-impact-online-ddl\/\"><div class=\"card-resource__image-container\"><img class=\"card-resource__image\" alt=\"How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact Featured Image\" src=\"https:\/\/static.pingcap.com\/files\/2026\/03\/16065903\/Copy-of-Banner-3%EF%B9%951-B.png\" loading=\"lazy\" width=1800 height=600 \/><\/div><div class=\"card-resource__content-container\"><div class=\"card-resource__content-head\"><div class=\"card-resource__category\">Engineering<\/div><\/div><h5 class=\"card-resource__title\">How TiDB X Creates Indexes at 5.5M Rows\/s with Near-Zero Business Impact<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/32503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/217"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=32503"}],"version-history":[{"count":18,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/32503\/revisions"}],"predecessor-version":[{"id":32532,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/32503\/revisions\/32532"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/32504"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=32503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=32503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=32503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}