Se stai chiedendo quale database utilizzare, dipende davvero dalle preferenze personali e da cosa desideri. Poiché ho familiarità con MySQL, risponderò all'altra parte della domanda assumendo MySQL:
vorrai utilizzarlo INNODB
perché la tua tabella sarà ad alta intensità di scrittura e per le tabelle di grandi dimensioni, il blocco delle righe di INNODB ti farà risparmiare la vita MyISAM
.
Per quanto riguarda il design dei tavoli, sembra che tu abbia davvero bisogno di un solo tavolo:
CREATE TABLE `wordpress`.`<table_name>` (
`id` smallint(4) NOT NULL AUTO_INCREMENT UNSIGNED,
`user` varchar(30) NOT NULL,
`filename` varchar(255) NOT NULL,
`date_insert` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE `userFile`(user, filename)
) ENGINE=`InnoDB`;
Sono andato con una colonna 'id' arbitraria impostata su AUTO_INCREMENT
perché la chiave primaria è replicata in ogni voce di ogni indice. Pertanto, eseguire una chiave primaria di (utente, nome file) potrebbe causare problemi di prestazioni se i nomi dei file sono estremamente lunghi.
La dimensione della colonna "id" dipende dalla dimensione della tabella. Smallint non firmato ti darà 65.000 righe.
L'utente e il nome del file sono varchar, perché varieranno drasticamente in lunghezza.
Il date_insert
è solo un modo per ordinare i risultati in base a quando è stato inserito (utile per il vostro POP)