2009-12-28 11 views

Odpowiedz

17

PAMIĘTAJ! Można mieszać typy tabel w tej samej bazie danych! W rzeczywistości jest to zalecane i często wymagane. Należy jednak zauważyć, że jeśli występują problemy z wydajnością podczas dołączania do obu typów, spróbuj przekonwertować jeden na drugi i sprawdź, czy to rozwiązuje. Ten problem nie zdarza się często, ale został zgłoszony.

Zrobione z MySQL - InnoDB vs MyISAM

+1

jest ok, aby mieszać typy tabel, tak jak powiedziałeś. ale należy unikać mieszania typów tabel w ramach transakcji. –

5

Jasne, że to możliwe.

CREATE TABLE MyISAM_tbl(
    .... 
)ENGINE=MyISAM; 

CREATE TABLE InnoDB_tbl (
    .... 
)ENGINE=InnoDB; 

zrobić to przez cały czas, ponieważ wolę InnoDB dla FKS, ale czasami trzeba MyISAM dla wyszukiwania pełnotekstowego. Nigdy nie miałem problemu.

1

Jednym słowem tak. (CREATE TABLE umożliwia określenie typu silnika.)

Należy jednak zachować ostrożność podczas sprawdzania wielu typów tabel. (Na przykład nie możesz skorzystać z kluczy obcych w MyISAM i nie możesz zatwierdzić transakcji, która wpływa na tablice MyISAM itp.).

Podejrzewam, że to może nie być najlepsze podejście. (O ile nie potrzebujesz tylko transakcji dla określonego zestawu tabel, które są posegmentowane z pozostałej części bazy danych, a InnoDB jest zbyt wolny, uzyskanie szybszego serwera bazy danych może okazać się mniej bolesne.)

Powiązane problemy