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

Projekt bazy danych:rejestr i weryfikacja

Widzę to z innego punktu widzenia.

W twojej sytuacji prawdopodobnie wystarczy jeden stół. Ale są też inne względy.

1) Objętość. W małej tabeli filtrowanie według flagi nie wpłynie znacząco na wydajność. W dużej tabeli (miliony wierszy) musiałbyś umieścić flagę w indeksie. Umieszczenie flagi o niskiej kardynalności w indeksie dużej tabeli może zmniejszyć wydajność.

2) Wady. Posiadanie flagi w tabeli wymaga, aby prawie każde zapytanie używało tej flagi. Jak na wystarczająco duży lub wystarczająco złożony system, ktoś przeoczy tę flagę. Ustalenie ryzyka zależy od kosztu przypadkowego wybrania nieaktywowanego użytkownika.

Jednym ze sposobów na ograniczenie ryzyka jest wykorzystanie widoków. Jeśli implementujesz rozwiązanie z dwiema tabelami, użyj widoku (All_Users) przy użyciu UNION ALL. Jeśli zaimplementujesz rozwiązanie z jedną tabelą, utwórz widok tylko dla aktywowanych użytkowników i zamiast tego użyj tej tabeli. Tylko funkcja konserwacji wymaga modyfikacji tabel podstawowych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Schemat XSD do MySQL

  2. CodeIgniter- aktywny wpis rekordu, jeśli nowy lub aktualizacja na duplikacie

  3. Lexing częściowego SQL w C#

  4. Jak przechowywać plik w bazie danych mysql za pomocą blob

  5. Jak uzyskać identyfikator wybranego elementu tabeli w php?