1. 主鍵的生成
對於目前來說,主鍵的生成方式很多,有自增,uuid,snowflake....今天我只談論一下自增長主鍵的不好之處,特別是多於資料安全性要求比較高的系統。
(1)全集唯一
(2)趨勢有序
對於單庫單錶來說上面的兩大核心需求自增主鍵都滿足,單是對於多庫多表上面兩個就不滿足了。不過我今天想說的不是這兩需求,而是關於主鍵安全性的需求。
眾所周知,資料對於當今大多數企業來說就是其生命,所以資料的安全就顯得非常的重要,所以在做設計時要考慮資料的洩露問題。對於自增長的主鍵就存在資料洩露的風險,
對於大部分的資料庫操作,我們大多都是根據主鍵進行增,刪,改,查的,所以主鍵是很容易洩露的,並且洩露後操作者很容易根據主鍵的自增特性去猜測到資料庫中的資料的,
如果程式寫的不是很完善,就很容易將資料庫中的資料暴露給外部無權檢視人員,所以在使用自增屬性時一定要考慮資料的安全級別和程式的完備性。
2. 索引的建立
所以一般是用於增加查詢效率的,所以一般是在進行查詢時考慮建立索引的。
一般情況下,我們是根據我們所寫的程式來建立索引的,即程式的入參,但在這兒我更想提的是我們還要根據出生產事故時排錯需要建立索引,即排錯時一般用哪些欄位去查詢,我們就應該考慮是否應該給他們也加上索引。
以上僅僅是個人看法,不對之處,請指正。
資料庫主鍵和索引關聯
一直以來不能夠分清主鍵和索引的關係,在此梳理以備不時之需 1 主鍵 主鍵就是能夠唯一標識表中某一行的屬性或屬性組,乙個表只能有乙個主鍵,但可以有多個候選索引。主鍵主要作用 1 惟一地標識一行。2 作為乙個可以被外來鍵有效引用的物件。2 索引 包含著對資料表裡所有記錄的引用指標。區別 乙個表中可以有多...
資料庫 索引 主鍵 聯合索引
參考自 索引 通過key或index定義 可以極大地提高資料查詢速度,但是會降低插入刪除更新表的速度,因為在執行這些操作是,還要操作索引檔案用來維護,所以說索引不是建的越多越好而是要建在合理的字段,比如使用者表,可以建在手機號,郵箱號上。同時,索引可以覆蓋多個列,也就成了聯合索引。主鍵,在一張表中只...
資料庫建立索引的條件和注意事項
資料庫中建立索引是為了提公升查詢效能,但是建立索引也會降低修改效能。建立索引也有不利的一面 建立索引和維護索引要耗費時間,耗費的時間隨著資料量的增加而增加 索引佔據物理空間。除了資料表佔據物理空間以外,每乙個索引都會佔據一定的物理空間。如果建立聚簇索引,那麼需要的空間就會更大 如果非聚簇索引很多,一...