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

Jaka jest lepsza strategia przechowywania danych dziennika w bazie danych?

Wszystkie inne rzeczy są równe, mniejsze rozłączne tabele mogą mieć przewagę wydajności, zwłaszcza gdy wymagają one dużej ilości zapisu (ponieważ tabele związane z dziennikami mogą być) -- większość mechanizmów bazy danych jest lepiej dostosowana do najczęściej czytanych, rzadko zapisywanych tabele. Jeśli chodzi o pisanie (i aktualizację wszelkich indeksów, które być może będziesz musiał utrzymywać), małe rozłączne tabele są wyraźną wygraną, zwłaszcza jeśli istnieje jakakolwiek współbieżność (oczywiście w zależności od silnika, którego używasz do swoich stołów - to dość ważne uwagę w mysql!-).

Jeśli chodzi o czytanie, wszystko zależy od wzorca zapytań – jakich zapytań będziesz potrzebować i jak często. W niektórych przypadkach dla wzorca użycia, takiego jak wspomniałeś, powielenie pewnych informacji może przynieść pewne korzyści pod względem wydajności, np. jeśli często potrzebujesz aktualnej sumy bieżących kredytów lub obciążeń użytkownika, a także szczegółowych dzienników podlegających kontroli, pokazujących, w jaki sposób powstała suma bieżąca, utrzymywanie (logicznie nadmiarowej) tabeli sum bieżących przez użytkowników może być uzasadnione (jak również ładnie oddzielone "tabele dziennika" dotyczące różnych źródeł uznań i obciążeń).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zagnieżdżone kursory w Mysql

  2. Migracja Laravel — naruszenie ograniczenia integralności:1452 Nie można dodać lub zaktualizować wiersza podrzędnego:ograniczenie klucza obcego nie powiodło się

  3. Ochrona przed wstrzyknięciem MySQL i znaki podatności przy użyciu PHP

  4. SUBSTRING_INDEX z wieloma ogranicznikami

  5. Pobieranie wartości Timestamp z bazy danych mysql przy użyciu szablonu Spring JDBC