我正在佈局我的表結構,並且試圖對如何設置存儲引擎做出有教育的猜測。這個設置的innodb和myisam的最佳組合?
該表的第一個字段是整數類型,帶有AUTO INCREMENT
。字段2到5將約爲95%的讀取,5%的寫入(寫入僅爲INSERT
。)然而,字段6將不斷更新,約50%讀取(SELECT
語句)和50%寫入(10%。 )
我剛纔讀的您可以自由組合併發INSERT和SELECT語句的MyISAM表不鎖如果有從表中http://dev.mysql.com/doc/refman/5.0/en/internal-locking.html沒有刪除的條目。我不打算從桌面上刪除任何行。
你會推薦我把表分成兩個不同的表。第一個表是MYISAM,其中字段1至5(從95%讀取,寫入5%)。第二個表是innodb,有兩個字段,第一個是AUTO INCREMENT
,與第一個表中的第一個字段相同,第二個字段是不斷更新的字段(50%讀取50%寫入)?
插入到不同表中的兩條插入語句應該一個接一個地發生。但在極少數情況下,第一個INSERT語句通過,但第二個不行,我怎麼能強制每個表的第一個字段被正確地映射到彼此?
爲了澄清,表1(MyISAM數據)和表2的一些其他職位(innodb)會共享一個「不斷更新」的專欄? – 2012-02-17 17:45:30
嘿邁克,他們將分享的唯一列是自動遞增列。所以像表1和表2的第20行應該是彼此相關的。 – user784637 2012-02-17 18:09:47
好的,那麼table1.ever_changing_col!= table2.ever_changing_col。我問的原因是,如果列不一樣,但它們共享一個linking_id,那麼tab12.ever_changing_col是對table1的補充嗎? – 2012-02-17 18:12:11