一、sql數據庫中什么情況該加索引index
1、表的某個字段值得離散度越高,該字段越適合選作索引的關鍵字。主鍵字段以及少數性約束字段適合選作索引的關鍵字,原因就是這些字段的值非常離散。尤其是在主鍵字段創建索引時,cardinality的值就等于該表的行數。
MySQL 在處理主鍵約束以及少數性約束時,考慮周全。數據庫用戶創建主鍵約束的同時, MySQL 自動創建主索引( primary index ),且索引名稱為 Primary;數據庫用戶創建少數性索引時, MySQL 自動創建少數性索引( unique index ),默認情況下,索引名為少數性索引的字段名。
2、 占用存儲空間少的字段更適合選作索引的關鍵字。例如,與字符串相比,整數字段占用的存儲空間較少,因此,較為適合選作索引關鍵字。
3、 存儲空間固定的字段更適合選作索引的關鍵字。與 text 類型的字段相比, char 類型的字段較為適合選作索引關鍵字。
4、 Where 子句中經常使用的字段應該創建索引,分組字段或者排序字段應該創建索引,兩個表的連接字段應該創建索引。
5、 更新頻繁的字段不適合創建索引,不會出現在 where 子句中的字段不應該創建索引。
6、 最左前綴原則。
7、 盡量使用前綴索引。
延伸閱讀:
二、應用架構是什么
應用架構(Application Architecture)是描述了IT系統功能和技術實現的內容。應用架構分為以下兩個不同的層次:
企業級的應用架構:企業層面的應用架構起到了統一規劃、承上啟下的作用,向上承接了企業戰略發展方向和業務模式,向下規劃和指導企業各個IT系統的定位和功能。在企業架構中,應用架構是最重要和工作量最大的部分,他包括了企業的應用架構藍圖、架構標準/原則、系統的邊界和定義、系統間的關聯關系等方面的內容。單個系統的應用架構:在開發或設計單一IT系統時,設計系統的主要模塊和功能點,系統技術實現是從前端展示到業務處理邏輯,到后臺數據是如何架構的。這方面的工作一般屬于項目組,而不是企業架構的范疇。