From b96fd212ee8d4a6f16b75fb1d4eded7832d189c2 Mon Sep 17 00:00:00 2001 From: Gabor Szarnyas Date: Mon, 9 Sep 2024 21:57:05 +0200 Subject: [PATCH] cases --- _posts/2024-09-09-announcing-duckdb-110.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-09-09-announcing-duckdb-110.md b/_posts/2024-09-09-announcing-duckdb-110.md index 5760fed95c..a79726d15d 100644 --- a/_posts/2024-09-09-announcing-duckdb-110.md +++ b/_posts/2024-09-09-announcing-duckdb-110.md @@ -295,8 +295,8 @@ The `union_by_name` parameter allows combination of – for example – CSV file We have [greatly improved](https://github.com/duckdb/duckdb/pull/13373) index insertion and deletion performance for foreign keys. Normally, we directly inline row identifiers into the tree structure. However, this is impossible for indexes that contain a lot of duplicates, as is the case with foreign keys. Instead, we now actually create another index entry for each key that is itself another “recursive” index tree in its own right. That way, we can achieve good insertion and deletion performance inside index entries. The performance results of this change are drastic, consider the following example where a has 100 rows and b has one million rows that all reference a: ```sql -CREATE TABLE a (i integer, PRIMARY KEY (i)); -CREATE TABLE b (i integer, FOREIGN KEY (i) REFERENCES a(i)); +CREATE TABLE a (i INTEGER, PRIMARY KEY (i)); +CREATE TABLE b (i INTEGER, FOREIGN KEY (i) REFERENCES a(i)); INSERT INTO a FROM range(100); INSERT INTO b SELECT a.range FROM range(100) a, range(10_000) b;