Ho cercato un modo per progettare un database per grandi quantità di lead (utenti) con campi personalizzati.
Ive controlla questo ( Come sarebbe si progetta un database utente con campi personalizzati ), ma questa soluzione limiterebbe la quantità di campi personalizzati.
Finora l'ho progettato su tre tavoli:
leads (ID, phone, email)
leads_fields (ID, name, type, required)
leads_fields_content (ID, fields_id, lead_id, content)
Gli utenti possono creare tutto il leads_fields
di cui hanno bisogno, fx. 20 campi.
Quindi, quando avrò un lead, andrei su e check in leads_fields_content
per lead_id
, ottenere quella raccolta e ottenere il corrispondente leads_fields
a cui si fa riferimento.
Vedo che funziona - Tuttavia, un cliente desidera caricare 300.000 lead dal primo giorno. Quindi sono 300.000 righe in leads
. Quindi diciamo che ci sono 20 campi per ogni lead. Ciò creerebbe quindi 300.000 * 20 righe in leads_fields_content
che corrisponde a 6.000.000 di righe. Questo è solo per un cliente.
La mia domanda : è questo il modo corretto di progettarlo, tenendo conto della quantità di tempo necessaria per passare a 300.000 righe, e successivamente a 6.000.000? E questo sarebbe solo esponenzialmente più grande.