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

Jak przechowywać dużą liczbę rekordów w bazie MySql?

Używaj stołu tak, jak jesteś. MySQL może z łatwością obsługiwać miliardy lub wiersze danych. Z kilkoma ładnymi indeksami, twoja wydajność również powinna być całkiem dobra.

Nie oznacza to, że nie powinieneś dążyć do tego, aby mieć dobry projekt tabeli, ale nie powinieneś też martwić się o obsługę tego, co uważasz, że jest prawdopodobnie dużą ilością danych - podczas gdy w rzeczywistości jest to prawdopodobnie spadek ocean zbiorów danych.

Liczba kolumn naprawdę nie robi zbyt wielkiej różnicy, rozmiar wiersza może wydłużyć czas potrzebny na dostęp do nich z dysku twardego (zgodnie z kilkoma artykułami, które przeczytałem), ale jednocześnie musiałbyś mieć NAPRAWDĘ duży rząd, aby faktycznie zauważyć różnicę między tysiącami zapytań.

Jeśli chodzi o dobrą strukturę, to naprawdę zależy od tego, JAK będziesz jej potrzebował. Jeśli będziesz wykonywać wiele różnych funkcji agregujących, upewnij się, że masz tabelę, która na to pozwoli. Jeśli potrzebujesz tylko kilku konkretnych zapytań, warto utworzyć tabelę raportu, która agreguje dane, powiedzmy raz dziennie.

Edycja:Uwagi na temat aktualnego limitu liczby wierszy:

http://dev.mysql.com/doc /refman/5.1/en/source-configuration-options.html

Silnik pamięci masowej MyISAM obsługuje 2^32 wiersze na tabelę, ale możesz zbudować MySQL z opcją --with-big-tables, aby obsługiwać do 2^64 wierszy na tabelę.

http://dev.mysql.com/doc/refman /5.1/pl/innodb-restrictions.html

Silnik pamięci masowej InnoDB nie wydaje się mieć limitu liczby wierszy, ale ma limit rozmiaru tabeli 64 terabajty. Ile wierszy się do tego pasuje, zależy od rozmiaru każdego wiersza.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django/MySQL-python - Odmowa połączenia przy użyciu starego (przed-4.1.1) protokołu uwierzytelniania (włączona opcja klienta 'secure_auth')

  2. Wstaw Tak lub Nie do MySQL w oparciu o wartość pola wyboru

  3. Czy InnoDB może używać pliku stopword?

  4. Schemat bazy danych systemu wiadomości

  5. Jak mogę napisać wyszukiwanie MySQL, które może zrekompensować błędnie napisane dane?