Co jest bardziej wydajne: wiele tabel MySQL lub jeden duży stół?

Przechowuję różne dane użytkownika w mojej bazie danych MySQL. Pierwotnie był on konfigurowany w różnych tabelach, co oznacza, że ​​dane są powiązane z UserIds i wysyłane za pomocą czasami skomplikowanych wywołań w celu wyświetlania i manipulowania danymi zgodnie z wymaganiami. Ustanawiając nowy system, prawie sensowne jest połączenie wszystkich tych tabel w jedną dużą tabelę pokrewnych treści.

Czy to będzie pomoc lub przeszkoda?Przyspieszenie rozważań przy dzwonieniu, aktualizacji lub przeszukiwaniu / manipulowaniu?

Oto przykład niektórych moich struktur tabeli:

użytkownicy - UserId, nazwa użytkownika, e-mail, zaszyfrowane hasło, data rejestracji, IPdane_użytkownika - dane cookie, nazwa, adres, dane kontaktowe, afiliacja, dane demograficzneuser_activity - wkłady, ostatnie online, ostatnie oglądanieuser_settings - ustawienia wyświetlania profiluuser_interests - zmienne, które można reklamowaćpoziomy_użytkownika - prawa dostępuuser_stats - trafienia, wyniki

Edytować: Dotychczas odpowiedziałem na wszystkie odpowiedzi, wszystkie mają elementy, które zasadniczo odpowiadają na moje pytanie.

Większość tabel ma relację 1: 1, co było głównym powodem denormalizacji ich.

Czy pojawią się problemy, jeśli tabela obejmie ponad 100 kolumn, gdy duża część tych komórek pozostanie pusta?

questionAnswers(8)

yourAnswerToTheQuestion