這 30 天我將會跟著 PostgreSQL 官方文件,了解 PostgreSQL 中的各種 Index (B-Tree, GIN, Gist ...)、Isolation Levels 以及 Lock 機制。文章內會有各種小測試,來理解它們的使用時機和原理,歡迎對 PostgreSQL 有興趣的朋友們一起來學習~
第一次參加鐵人賽,為什麼會選擇資料庫作為主題呢?要從一個菜鳥工程師的故事開始說起,記得剛開始轉職成為後端工程師,工作差不多滿三個月的時候,有一次收到 PM 傳...
在資料庫中當資料量變大時,Index 能幫助加速查詢。但剛接觸資料庫的時候,可能會有個疑問:「如果 Index 能讓搜尋變快,那是不是應該對所有欄位都加上 I...
上篇有提到加上 Index 能讓搜尋變快,但能變快的原因是什麼呢?這是因為在 PostgreSQL 中在欄位加上 Index 後,會將該欄的資料長成 B-Tr...
在實務上搜尋資料的時候,可能不會像前面的舉例那麼簡單,單純用一個欄位 id 去尋找資料,而是藉由多個欄位的條件去篩選出多筆資料。 像這樣的情況,可能就需要將多...
在 PostgreSQL 中當查詢使用 Index,我們目前看到了兩種方式:Index Scan 和 Bitmap Scan。 接下來就分別來看看他們各自的特...
在 PostgreSQL 中,B-Tree Index 不僅能加快搜尋速度,還能提升 ORDER BY 查詢的效率。在預設情況下,B-Tree 會以升序(as...
接下來要介紹的是 UNIQUE Index,當我們希望一個欄位的值,每個值都是獨一無二的,就可以使用 UNIQUE Index。它可以用來確保這個欄位不會有兩...
當查詢結果時不只是單純讀取資料,而是還需要額外做轉換或運算時,效能可能會受到影響。但其實我們可以善用 Index,讓這些轉換在查詢前就先「準備好」,查詢的速度...
在資料庫中使用 Index 能夠加快查詢的速度,但前面有提到 Index 加速的做法其實是用「空間換取時間」的方式,因此在設計 table schema 的時...
在 Day 5 提到的 Index Scan & Bitmap Scan 中,我們知道透過 Index 讀取資料時,通常會有兩個步驟: Index...