數據庫中間表插入亂序

1.現象mysql

  往一張中間表中插入幾行數據,可是插入的數據沒有按照插入的順序插入。sql

  中間表:數據庫表多對多關係的時候,須要一張中間表,將它們的關係對應起來。數據庫

2.表中結構優化

  因爲是中間表,沒有主鍵,只有兩個表的主鍵。3d

3.個人嘗試調試

  去掉全部的事務,以排插事務會幫我重排序的可能,寫了一個for循環,for循環裏面很簡單,只是簡單的往數據庫裏插入數據,單步調試,查看數據庫中的變化狀況。blog

  結果是:數據按for循環的順序一個添加了,可是確實亂序的。  可是插入後的排序是有規律的,是按照ASCII碼字典序排序的。排序

4.緣由索引

  這個表加了索引,多是由於沒有主鍵的緣由,插入數據的時候會相似索引的方式,將數據重排序後再插入,按照ASCII碼升序排序,和索引同樣。  其實這張表加了索引以後就至關於一張索引表了,沒有必要去建立一張新的索引表,可能mysql作了這樣子的優化。事務

  致謝:感謝您的閱讀!

相關文章
相關標籤/搜索