Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy InnoDB (MySQL 5.5.8) jest właściwym wyborem dla wielomiliardowych wierszy?

Prosta odpowiedź na Twoje pytanie brzmi:tak, InnoDB byłby idealnym wyborem dla wielomiliardowego zestawu danych.

Istnieje wiele możliwych optymalizacji.

Najbardziej oczywistymi optymalizacjami byłoby ustawienie dużej puli buforów, ponieważ pula buforów jest najważniejszą rzeczą, jeśli chodzi o InnoDB, ponieważ InnoDB buforuje dane, jak również indeks w puli buforów. Jeśli masz dedykowany serwer MySQL z tylko tabelami InnoDB, powinieneś ustawić do 80% dostępnej pamięci RAM, która ma być używana przez InnoDB.

Inną najważniejszą optymalizacją jest posiadanie odpowiednich indeksów w tabeli (pamiętając o wzorcu dostępu do danych/aktualizacji), zarówno podstawowym, jak i pomocniczym. (Pamiętaj, że indeksy podstawowe są automatycznie dołączane do indeksów pomocniczych).

Z InnoDB jest kilka dodatkowych korzyści, takich jak ochrona przed uszkodzeniem danych, automatyczne odzyskiwanie itp.

Jeśli chodzi o zwiększenie wydajności zapisu, powinieneś skonfigurować pliki dziennika transakcji tak, aby miały łącznie 4G.

Jeszcze jedną rzeczą, którą możesz zrobić, jest podzielenie tabeli na partycje.

Możesz uzyskać większą wydajność, ustawiając format bin-log-log na "row" i ustawiając auto_inc_lock_mode na 2 (zapewni to, że innodb nie będzie blokować poziomu tabeli podczas wstawiania do kolumn z automatycznym przyrostem).

Jeśli potrzebujesz konkretnej porady, możesz się ze mną skontaktować, chętnie pomogę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. parsowanie zapytań wyszukiwania pełnotekstowego wpisanych przez użytkownika do klauzuli WHERE MySQL przy użyciu PHP

  2. Hierarchiczne menu rekurencji z PHP/MySQL

  3. Błąd wstawiania PHP/SQL podczas używania nazwanych symboli zastępczych

  4. Wykonywanie wielu zapytań w codeigniter, których nie można wykonać pojedynczo

  5. Jak połączyć mysql z swiftem?