背景:mysql mysql
曾幾什麼時候,自增主鍵做爲我開發中設置主鍵的策略。不知道從哪裏學習的,在數據中出現非業務的主鍵有幫助。因而,養成了一個習慣,建表就建立自增主鍵。最近在初始化一些數據信息。對自增主鍵有了進一步的體會。 sql
之前,主要以爲用一個自增主鍵,不用限制惟一性。由於自增的,它總不會重複吧。 學習
最近在處理數據信息,連帶了看一點mysql基礎知識(關於InnoDB) code
1. 若是咱們不爲當前表,建立一個主鍵或者惟一性的索引,那麼引擎會自動設置一個隱藏的主鍵來標識當前列數據信息。 索引
2. 對於咱們使用一個自增的主鍵做爲id的時候,對於同步數據信息的,咱們能夠經過自增id的大小比較,加快分頁查詢信息。
例如:
開發
-- 正常的獲取分頁信息 select * from tb limit 1000000, 1000
-- 經過主鍵,可以更快的過濾數據起始點 select * from tb where id > 1000000 limit 1000
3. 在中間表創建關係的時候,咱們採用id來關聯,那麼在初始化數據的時候,咱們必須等主表的數據建立完成後,才能再處理中間表,由於中間表須要id信息,而這些信息是在Insert到主表後才能被肯定的。 同步