我有一個當前的數據庫結構,似乎爲索引目的拆分了一些數據。主要的tickets
表具有更多「精簡」字段,例如外鍵,整數和日期,tickets_info
表具有可能較大的數據,如文本字段和斑點。這是一個好主意繼續,還是應該結合表格?聯合或分開的表
例如,目前的結構看起來是這樣的(假設有一個外鍵索引中的一個一對一的關係):
`tickets`
--------------------------------------------
id | customer | vendor | opened
--------------------------------------------
1 | 29 | 0 | 2013-10-09 12:49:04
`tickets_info`
--------------------------------------------
id | description | more_notes
--------------------------------------------
1 | This thing is broken! | Even longer...
我的應用程序比插入/更新方式更多SELECT,所以我可以看到一個概覽頁面(每頁250+個結果列表)一次查詢大量票據列表時,拆分的理論優勢。然後在頁面上使用較大的細節,通過簡單的JOIN(在外鍵上的幾個其他聯接中)顯示一張票和它的詳細信息。
這些表格目前是MyISAM,但是如果這樣做有什麼區別,我會將它們轉換爲InnoDB。 tickets
表中目前大約有33列,tickets_info
表中有4列; tickets_info
表可能會有更多的列,具體取決於安裝(我已經實現類似於PHPBBv3的「自定義字段」)。
如果有機會,你可能只需要在一個表(或部分)的信息不加入他們,那麼最好是讓他們分開。如果你總是加入他們,那可能是另一回事。這也取決於你對錶格進行了哪種搜索。您可能確實想要將第一個錶轉換爲InnoDB以獲得更好的性能;不確定其他有多個文本字段的表格,特別是如果您在插入條目後不打算修改條目。 – Ashalynd
我實際上必須創建第二個表InnoDB,以便我可以爲主表創建一個外鍵,以便它們保持鏈接。感謝您的意見。 – Demonslay335