日韩av手机在线免费观看_四虎免看黄_亚洲一区中文字幕_亚洲小视频网站_国产一区日韩在线_国产欧美精品一区二区

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發(fā) > 數據庫 > PostgreSQL長事務與失效的索引查詢淺析介紹

PostgreSQL長事務與失效的索引查詢淺析介紹

時間:2024-02-09 10:40作者:下載吧人氣:35

最近剛寫了一篇文章介紹了下長事務,以及一些長事務常見的危害,如無法及時的垃圾回收導致表膨脹之類的問題,最近剛好又碰到一個問題也是長事務所導致的。

上周六早上接到同事電話,說某個庫CPU一直很高,看了下全是某張大表的全表掃描導致,但是奇怪的是相關的查詢都有用到索引列,不知道為啥查詢全部都沒走索引。

當我連上去查看時發(fā)現確實如此,如果只是某個查詢不走索引那可能是SQL本身寫的有問題,但是這張表相關的所有SQL都不走索引,那自然會想到是索引本身的原因了。那是不是索引失效了呢?經過檢查發(fā)現這張表上的索引狀態(tài)均正常,并且我還將索引重建了,可仍然沒起作用。

正當我迷茫的時候,偶然間再去執(zhí)行相關SQL的時候發(fā)現竟然又都走索引了,這又是啥情況。。

我啥都沒做你就自己恢復了,那不是顯得我很呆?不行,必須得搞清楚啥原因。

當我再去查看相關索引的時候發(fā)現,該索引的pg_index中的indcheckxmin列均為true,這個字段我之前有寫過一篇索引失效的文章里介紹過。那么什么情況下索引的該屬性會被設置為true呢?兩種情況:

  1. 當前事務中表上存在broken HOT chains;
  2. 當old_snapshot_threshold被設置時。

之前我們也介紹過,如果索引的該屬性為true那么在創(chuàng)建索引的事務中該索引是不可用的,不過這種場景我們基本不太會遇到,因為在實際應用中我們基本不會在事務中創(chuàng)建完索引然后不提交該事務直接去使用。

而關于indcheckxmin的詳細解釋是:直到此pg_index行的xmin低于查詢的TransactionXmin之前,查詢都不能使用此索引。那么什么情況下會出現這種問題呢?長事務!

當我們創(chuàng)建索引的時候如果索引的indcheckxmin被設置為true,且數據庫中此時存在長事務,那么直到該長事務提交前,該索引會一直不可用。

下面我們來模擬這種情況:

–會話一:打開一個長事務

bill=# begin;
BEGIN
bill=*# delete from t;
DELETE 1000
bill=*#
標簽[db:關鍵字]

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 亚洲视频三区 | 成人亚洲精品久久久久软件 | 日韩五月天| 国产乱码精品一区二区三区忘忧草 | 国产成人99久久亚洲综合精品 | 日韩小视频| 91精品国产综合久久精品图片 | 亚洲成人国产综合 | 亚洲欧美日韩网站 | 黄色欧美在线 | www.天堂av.com | 天堂在线www | av一区二区三区 | 视频一区二区在线观看 | 欧美成人一区二区三区 | 国产精品成人一区 | 91久久国产综合久久91精品网站 | 国产综合精品一区二区三区 | 亚洲欧美日韩系列 | 操操操操操 | 神马影院一区二区三区 | 91在线看视频| 超碰在线人人干 | 国产高清一区二区 | 成人欧美一区二区三区在线观看 | 天天搞天天操 | 国产九九av | 国产综合视频 | 久久久久久国产精品免费免费狐狸 | 国产99精品 | 亚洲精品9999久久久久 | 在线中文视频 | 日日干夜夜操 | 久久精品综合网 | 欧洲一区二区三区 | a级网站 | 亚洲视频一区 | 日本精品一区二区 | 天天干天天爽 | 成人免费观看男女羞羞视频 | 爱高潮www亚洲精品 中文字幕免费视频 |