Mysql技術內幕知識點摘錄

2021-07-05 16:17:54 字數 1446 閱讀 9833

1:timestampdiff()

2:month,day,year

3:order by rand() 隨機選行

4:order by if(isnull(字段), 0, 1), 字段[asc|desc] 對null的排序處理

注意 <=> 運算子和 = 號的不一樣

7:設定資料庫自動提交,set autocommit=(0|1),當以事務的方式執行資料庫操作時,相當於臨時掛起預設的提交方式,該為手動提交,所以事務執行完後需要commit,如果忘記commit就可能會導致其他的資料庫操作阻塞掉,因為當2個對資料庫的更新或者刪除操作同時進行時,資料庫會對所操作的行上鎖來控制併發,如果事物1更新某一行後遲遲不提交,事物2對同一行的更新操作就無法繼續進行。

8:設定事務的隔離級別:

set

[session | global

]transaction

isolation

level

注意:預設的行為(不帶session和global)是為下乙個(未開始)事務設定隔離級別。如果你使用global關鍵字,語句在全域性對從那點開始建立的所有新連線(除了不存在的連線)設定預設事務級別。你需要super許可權來做這個。使用session 關鍵字為將來在當前連線上執行的事務設定預設事務級別。 任何客戶端都能自由改變會話隔離級別(甚至在事務的中間),或者為下乙個事務設定隔離級別。 查詢級別:
select

@@global.tx_isolation;

select

@@session.tx_isolation;

select

@@tx_isolation;

9:資料庫中兩個不同的連線對同一行資料進行修改操作時(update, delete),會加行鎖,乙個連線讀,乙個連線寫時,需要根據事務隔離級別來判斷執行結果。
資料庫隔離級別為repeatable read時會對表裡的行加鎖,也就是乙個事務在讀取某些行時另乙個事務不能去修改這些行裡的字段,所以可以解決不可重複讀的問題但是不能解決幻讀的問題。
資料庫隔離級別為sysn時,會對整個表加鎖,也就是說乙個事務在對錶進行操作時,另乙個事務不能對該錶進行任務操作。所以犧牲效能帶來了解決不可重複讀和幻讀的問題。
10:索引的缺點,占用空間,如何判斷是否需要建立索引:盡量為作為查詢條件的列建立索引,考慮乙個列的維度數,維度數越高的列索引效果越好,應該對盡量短小的值建立索引(好處:加快比較操作,減小索引體積進而減少io,提高記憶體快取索引塊包含鍵值的數量),

模板匹配知識點摘錄

定義 首先,需要製作模板,將模板以一定角度旋轉,製作 0 360 的各個方向的模板,模板影象 t 從目標影象的原點處每次移動乙個畫素,直到匹配分數達到最低要求找到目標物體。在定義相似度量之前,先作如下定義 目標物體的模板定義為點集 以及這些點對應的方向向量 n 為模板上的畫素點數。方向向量的獲取可以...

C 結構知識點摘錄

結構定義的一般形式為 struct 結構名 例如,分數包含兩個成員 分子和分母,可以定義為乙個結構。分數結構名可以取名為 rationalnumber 兩個成員都是整型變數,可以分別取名為 fenzi 和 fenmu,則分數結構可以定義為 struct rationalnumber 結構的定義是定義...

CSS入門經典 知識點摘錄

width屬性的 收縮 和 擴充套件 適應 所有帶width屬性的元素都有乙個預設的auto值,但在使用auto寬度時並不是所有元素都具有相同的效果。例如,元素只是水平擴充套件以容納其中的資料,這種方法稱為 收縮適應 另一方面,元素則盡可能水平擴充套件其寬度,這種方法稱為 擴充套件適應 計算選擇器的...