Saya sebagian besar otodidak dalam hal desain database. Saya mengajukan pertanyaan ini karena saya telah menetapkan struktur umum ini, tetapi saya bertanya-tanya apakah ini metode yang paling efisien atau 'standar industri'.
Sebagian besar database yang saya desain memiliki tabel pengguna, dan kemudian aktivitas orang dilacak di tabel lain. Saya mengerti bahwa keindahan basis data adalah memiliki efisiensi semacam ini, tetapi tabel aktivitas akan mengumpulkan banyak banyak peristiwa dengan cukup cepat hanya dari setiap pengguna yang menggunakannya secara teratur, sehingga menjadi tabel besar dengan cepat dengan penggunaan pengguna yang moderat. Apakah praktik terbaik ini membiarkannya tumbuh dengan cara ini? Atau apakah tingkatan tabel, atau pemisahan ke tabel yang berbeda berdasarkan tanggal, atau per jumlah pengguna, atau sesuatu yang lain?
+--------------------+ +------------------------+
| UserData | | Activity |
+-=------------------+ +------------------------+
| ID (auto uint) | <--1-to-many-+ | ID (auto uint) |
| UserName (text) | +--> | UserID (uint) |
| Email (text) | | Timestamp (time) |
| additional info... | | Type (ID to elsewhere) |
+--------------------+ | additional info... |
+------------------------+
Saya hanya ingin tahu di mana saya bisa meningkatkan apa pun, untuk membantu saya belajar.