<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Performance on Alfonso Subiotto</title><link>http://asubiotto.com/tags/performance/</link><description>Recent content in Performance on Alfonso Subiotto</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 26 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="http://asubiotto.com/tags/performance/index.xml" rel="self" type="application/rss+xml"/><item><title>Das Problem mit German Strings</title><link>http://asubiotto.com/writing/das-problem-mit-german-strings/</link><pubDate>Tue, 26 Aug 2025 00:00:00 +0000</pubDate><guid>http://asubiotto.com/writing/das-problem-mit-german-strings/</guid><description>&lt;p&gt;An exploration of string encoding in databases, specifically examining &amp;ldquo;German strings&amp;rdquo; and why database systems should not automatically choose encoding without considering specific use cases and workload characteristics.&lt;/p&gt;
&lt;p&gt;German strings are generally a great encoding choice, but not always. Context matters when it comes to selecting the optimal string encoding strategy for your database workload.&lt;/p&gt;</description></item><item><title>Designing Your Indexes for Better Database Performance</title><link>http://asubiotto.com/writing/designing-your-indexes-database-performance/</link><pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate><guid>http://asubiotto.com/writing/designing-your-indexes-database-performance/</guid><description>&lt;p&gt;At Polar Signals, we improved our database query performance by 80% by changing the primary index in our main database table. In this blog post, we’ll go through why the performance improved in our specific use case and try to develop an intuition as to how to design indexes for better query performance. I hope that by reading this blog post, you will come away with a better intuition around index design to improve your own database queries.&lt;/p&gt;</description></item><item><title>Disk Spilling in a Vectorized Execution Engine</title><link>http://asubiotto.com/writing/disk-spilling-vectorized-execution-engine/</link><pubDate>Tue, 30 Jun 2020 00:00:00 +0000</pubDate><guid>http://asubiotto.com/writing/disk-spilling-vectorized-execution-engine/</guid><description>&lt;p&gt;Late last year, we shipped v1 of our &lt;a href="https://www.cockroachlabs.com/docs/stable/vectorized-execution"&gt;vectorized execution engine&lt;/a&gt;. It enables column-based query execution and speeds up complex joins and aggregations, improving analytical capabilities in CockroachDB (which is first and foremost optimized for OLTP workloads). v1 of the engine didn’t support disk spilling, which meant it couldn’t execute &lt;a href="https://www.cockroachlabs.com/docs/stable/vectorized-execution/#disk-spilling-operations"&gt;certain memory-intensive queries&lt;/a&gt; if there was not enough memory available. Starting in &lt;a href="https://www.cockroachlabs.com/product/whats-new/"&gt;CockroachDB v20.1&lt;/a&gt;, these queries fall back to disk (also known as “spilling” to disk).&lt;/p&gt;</description></item><item><title>How We Built a Vectorized Execution Engine</title><link>http://asubiotto.com/writing/how-we-built-vectorized-execution-engine/</link><pubDate>Thu, 31 Oct 2019 00:00:00 +0000</pubDate><guid>http://asubiotto.com/writing/how-we-built-vectorized-execution-engine/</guid><description>&lt;p&gt;CockroachDB is an &lt;a href="https://en.wikipedia.org/wiki/Online_transaction_processing"&gt;OLTP&lt;/a&gt; database, specialized for serving high-throughput queries that read or write a small number of rows. As we gained more usage, we found that customers weren’t getting the performance they expected from analytic queries that read a lot of rows, like large scans, joins, or aggregations. In April 2018, we started to seriously investigate how to improve the performance of these types of queries in CockroachDB, and began working on a new SQL execution engine. In this blog post, we use example code to discuss how we built the new engine and why it results in up to a 4x speed improvement on an industry-standard benchmark.&lt;/p&gt;</description></item></channel></rss>