PostgreSQL修煉之道要點摘錄

2021-10-23 02:59:41 字數 1088 閱讀 6400

6.1表空間

有時我們需要把不同的表放到不同的儲存介質或不同的檔案系統下,這時就需要使用表空間。

6.9索引

b-tree索引:最常用的索引適合處理等值查詢和範圍查詢

hash索引:只能處理簡單的等值查詢

其它索引:gist、sp-gist、gin

6.11事務、併發、鎖

a.事務的四個特性acid,對應atomicity原子性-要麼全部執行、要麼全都不執行, consistency一致性-事務完成時,所有資料保持一致狀態, isolation隔離性-無法看到修改之後提交之前的資料狀態, durability永續性-對系統的影響是永續性的

b.事務隔離級別:

讀未提交:可能髒讀-讀取到另乙個未提交事務寫入的資料

讀已提交(pg預設級別):可能有不可重複讀問題-重新讀取前面讀取過的資料時,發現該資料已經被另乙個已提交事務修改了

重複讀:可能幻讀-執行乙個查詢獲取到行後,這些資料行可能被其它事務修改了,此時再基於這些讀取的行修改資料會出錯。

序列化:略

c.兩階段提交

1.分布式系統中,事務協調器聯絡每台資料庫,通知準備提交事務;並受到所有資料庫的響應;

2.如果任一資料庫失敗,則事務協調器通知所有資料庫回滾;如果所有響應都成功,則通知所有資料庫執行提交。

d.死鎖的四要素

互斥條件:獨佔鎖

請求和保持條件:獨佔鎖的情況下,請求其它鎖

不剝奪條件:獨佔鎖不能被其它程序剝奪,只能自己釋放

環路等待條件:多個事務,彼此持有對方請求的乙個鎖,又去請求對方的獨佔鎖。

e. 表級鎖&行級鎖

lock table table_name nowait表級鎖

select ....  for update|share(nowait) 行級鎖

nowait獲取不到鎖時直接報錯,不等待

f.通過系統表pg_locks 死鎖定位

11.4索引的特色

1.函式索引

create index .. on table_name(lower(column_name))

2.條件索引

create index ... where col > 100

php 修煉之道

web系統 百萬級訪問,千成級資料以內或業務邏輯不是特別複雜 開發起基本得心應手,沒有什麼問題。但他們會有這樣的誤點 除了php不使用其它的語言,可能會點shell 指令碼。對php的掌握不精 很多php手冊都沒有看完,庫除外 知識面比較窄 面對需求,除開使用php和mysql,不知道其它的解決辦法...

儒家修煉之道

致中和,通過格物 致知 正心 誠意達到 修儒需要自己領悟,耐心體會 寧吾真體 在鬧中取靜,在靜中發現自己的本性 養吾圓機 面對複雜的事情來調整心理,磨練性格,培養自己的適應能力和心性不亂,方法在事上磨 就是致中和。喜怒哀樂之未發謂之中,發而皆中節謂之和 中 代表在靜的狀態下人體會到的真實本性 和 動...

Linux驅動修煉之道

一些學習linux驅動的筆記整理在這裡與大家分享,如果那裡有錯誤也請高手指出。若干年後能進入intel開源中心或ibm搞linux kernel是我目前的目標。君子藏器於身,待時而動。文章 不斷更新中。linux驅動修煉之道 流水燈 linux驅動修煉之道 按鍵 linux驅動修煉之道 lcd背光與...