TCP三次握手、四次揮手狀態(tài)位
SYN_SENT:第一次握手時(shí)客戶端設(shè)置
SYN_RECVD:第二次握手時(shí)服務(wù)端設(shè)置
ESTABLISHED:第三次握手時(shí)客戶端服務(wù)端都設(shè)置
LAST_ACK:第三次揮手時(shí)服務(wù)端設(shè)置
數(shù)據(jù)庫(kù)索引失效原因
1前痘、應(yīng)盡量避免在 where 子句中使用 != 或 <> 操作符攀甚,否則引擎將放棄使用索引而進(jìn)行全表掃描;
2馁启、盡量避免在 where 子句中使用 or 來(lái)連接條件驾孔,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描芍秆,即使其中有條件帶索引也不會(huì)使用,這也是為什么盡量少用 or 的原因翠勉;
3妖啥、對(duì)于多列索引,應(yīng)滿足最左匹配原則对碌;
4荆虱、如果列類型是字符串,那一定要在條件中將數(shù)據(jù)使用引號(hào)引用起來(lái)朽们,否則不會(huì)使用索引怀读;
5、like的模糊查詢以 % 開頭骑脱,索引失效菜枷;
6、應(yīng)盡量避免在 where 子句中對(duì)字段進(jìn)行表達(dá)式操作叁丧,這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描啤誊;
7、應(yīng)盡量避免在 where 子句中對(duì)字段進(jìn)行函數(shù)操作歹袁,這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描坷衍;
8、不要在 where 子句中的 “=” 左邊進(jìn)行函數(shù)条舔、算術(shù)運(yùn)算或其他表達(dá)式運(yùn)算枫耳,否則系統(tǒng)將可能無(wú)法正確使用索引;
9孟抗、如果MySQL估計(jì)使用全表掃描要比使用索引快迁杨,則不使用索引;
10凄硼、不適合鍵值較少的列(重復(fù)數(shù)據(jù)較多的列)
go中init()函數(shù):
有下面的特征:
1 init函數(shù)是用于程序執(zhí)行前做包的初始化的函數(shù)铅协,比如初始化包里的變量等
2 每個(gè)包可以擁有多個(gè)init函數(shù)
3 包的每個(gè)源文件也可以擁有多個(gè)init函數(shù)
4 同一個(gè)包中多個(gè)init函數(shù)的執(zhí)行順序go語(yǔ)言沒(méi)有明確的定義(說(shuō)明)
5 不同包的init函數(shù)按照包導(dǎo)入的依賴關(guān)系決定該初始化函數(shù)的執(zhí)行順序
6 init函數(shù)不能被其他函數(shù)調(diào)用,而是在main函數(shù)執(zhí)行之前摊沉,自動(dòng)被調(diào)用
調(diào)用順序: