![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 16 Dołączył: 20.02.2014 Ostrzeżenie: (10%) ![]() ![]() |
Witam. Jakiego silnika bazy danych (MySQL) używacie w swoich większych projektach - MyISAM czy InnoDB? Poczytałem o wadach i zaletach obu tych silników: InnoDB - wolniejsze selecty, szybsze inserty/updaty/delety/, transakcje (nie wiem czy będą mi potrzebne), klucze obce, chyba łatwiejsze replikacje bazy; MyISAM - szybsze selecty, wolniejsze inserty/updaty/delety, brak transakcji, wyszukiwanie pełnotekstowe, dłużej wstaje po awarii serwera niż InnoDB. Jak jest to w praktyce?
Będę projektował bazę danych pod serwis społecznościowy i wydaje mi się, że w serwisach tego typu zdecydowanie więcej jest select'ów niż updatów/insertów/deletów, i w przypadku awarii serwera chyba nie ma jakichś ważnych danych do zapisywania jak w przypadku np. systemów bankowych. Możliwe, że przeoczyłem jakieś przypadki więc proszę o poprawienie/uzupełnienie. Rozumiem, że można bez problemów wydajnościowych w niektórych tabelach ustawiać "MyISAM", a w reszcie np. "InnoDB"? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak można jeszcze brać pod rozwagę myisam. Zwłaszcza brak kluczy obcych. Jest tez szansa ze masz mariadb z ich systemem.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
myisam podczas insertu robi Table Lock, a innoDB row lock. Więc pomimo że MyISAM jest szybki do insertów to podczas robienia duużo insertów robi się spory lag.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 16 Dołączył: 20.02.2014 Ostrzeżenie: (10%) ![]() ![]() |
ale za to MyISAM jest chyba szybszy w SELECT-ach, co jest częściej używane w tego typu serwisach (społecznościowych) niż inserty
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Na selecta możesz zawsze nałożyć cache albo nosql. Ja bym sie raczej integralnościa danych martwił.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tak, ale nie wiem czy już zostalo naprawione ale FullText index w InnoDB jest zbugowany. Przy dużej ilości danych wysypuje się zapytanie i czasami serwer.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 13:42 |