訂閱
糾錯
加入自媒體

如何實現(xiàn)僅對部分數(shù)據(jù)構(gòu)建索引?

2021-03-05 09:37
yzsDBA
關(guān)注

索引會占用比想象中的還要大的空間,有好幾次我向表中添加索引以增加速度,但是對磁盤使用量的快速增長感到震驚。雖然索引是構(gòu)建在列上,但是并不是每個行記錄都需要在索引里面,這是部分索引partial indexes就提供了一個解決方案。

假設(shè)在電子商務(wù)應(yīng)用程序的數(shù)據(jù)庫中有一個很大的orders表,包含應(yīng)用程序中指定的每種類型的訂單數(shù)據(jù),甚至包括那些未完成的訂單。此時應(yīng)用程序有一個搜索功能,可以根據(jù)orders表中的一列進行過濾,但是那些未完成的訂單不需要在這個索引中。

創(chuàng)建部分索引時使用WHERE子句,使索引只包含符合條件的行。下面是一個簡單示例:

CREATE INDEXorders_completed_user_id  ON orders (user_id)  WHERE completed IS TRUE;

誠然,在這樣的場景中保持的數(shù)據(jù)量將會很少(user_id可能只是一個整數(shù)),但是對于文本列或多列索引,最終節(jié)省的磁盤空間將會很大。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號