如何實現僅對部分數據構建索引?
2021-03-05 09:37
yzsDBA
關注
索引會占用比想象中的還要大的空間,有好幾次我向表中添加索引以增加速度,但是對磁盤使用量的快速增長感到震驚。雖然索引是構建在列上,但是并不是每個行記錄都需要在索引里面,這是部分索引partial indexes就提供了一個解決方案。
假設在電子商務應用程序的數據庫中有一個很大的orders表,包含應用程序中指定的每種類型的訂單數據,甚至包括那些未完成的訂單。此時應用程序有一個搜索功能,可以根據orders表中的一列進行過濾,但是那些未完成的訂單不需要在這個索引中。
創建部分索引時使用WHERE子句,使索引只包含符合條件的行。下面是一個簡單示例:
CREATE INDEXorders_completed_user_id ON orders (user_id) WHERE completed IS TRUE;
誠然,在這樣的場景中保持的數據量將會很少(user_id可能只是一個整數),但是對于文本列或多列索引,最終節省的磁盤空間將會很大。
聲明:
本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
- 1 AI狂歡遇上油價破百,全球股市還能漲多久? | 產聯看全球
- 2 OpenAI深夜王炸!ChatGPT Images 2.0實測:中文穩、細節炸,設計師慌了
- 3 6000億美元估值錨定:字節跳動的“去單一化”突圍與估值重構
- 4 Tesla AI5芯片最新進展總結
- 5 連夜測了一波DeepSeek-V4,我發現它可能只剩“審美”這個短板了
- 6 熱點丨AI“瑜亮之爭”:既生OpenClaw,何生Hermes?
- 7 AI界的殺豬盤:9秒刪庫跑路,全員被封號,還繼續扣錢!
- 8 2026,人形機器人只贏了面子
- 9 DeepSeek降價90%:價格屠夫不是身份,是戰略
- 10 AI Infra產業鏈卡在哪里了?


分享













