Come aggirare la limitazione sul numero di database nell'hosting
Come già sapete, il numero di database nell'hosting virtuale è solitamente limitato. Di norma, corrisponde al numero di siti web.
Tuttavia, ci sono situazioni in cui abbiamo bisogno di più database. Discutiamo quali sono queste situazioni e come aggirare la limitazione sul numero di DB.
Quindi, supponiamo di avere il piano tariffario più economico, in cui possiamo creare solo un sito web e, di conseguenza, un solo database.
Tuttavia, possiamo creare un sito di secondo livello, ma un numero qualsiasi di sottodomini. Ad esempio, sul dominio principale potremmo avere un e-commerce, e su un sottodominio - un forum.
Risulta che ci servono due database. E solo per questo motivo, dovremo acquistare un piano tariffario più costoso. Ma esiste una soluzione alternativa.
L'essenza della soluzione alternativa è la seguente. Entrambi i nostri siti vivranno in un unico database. Ma, per evitare che i nomi delle tabelle entrino in conflitto, assegneremo loro dei prefissi.
Ad esempio,
i nomi delle tabelle per il negozio inizieranno
con shop_, mentre i nomi delle tabelle
del forum con forum_.
Tuttavia, di solito per brevità
i prefissi sono di due lettere,
nel nostro caso potrebbe essere
sh_ e fr_.
Certamente, modificare i nomi delle tabelle in tutto il codice potrebbe creare qualche inconveniente. Pertanto, durante lo sviluppo di un sito, è meglio prevedere fin dall'inizio la possibilità di una tale situazione e non hardcodare i nomi delle tabelle, ma memorizzarli da qualche parte in un unico posto, in modo da poterli modificare facilmente.
Oppure, prevedere fin dall'inizio nel nostro codice la presenza di un prefisso e ovunque nelle query SQL aggiungere, prima del nome della tabella, anche il prefisso. Il prefisso stesso sarà memorizzato da qualche parte in un unico posto - nella configurazione del nostro sito. In questo modo potremo facilmente modificarlo con quello che ci serve.
Pensa al codice che scriverai nel tuo progetto per supportare i prefissi delle tabelle.