Si vous demandez quelle base de données utiliser, cela dépend vraiment de vos préférences personnelles et de ce que vous en voulez. Comme je ne connais que MySQL, je répondrai à l'autre partie de la question en supposant que MySQL:
vous voudrez utiliser INNODB
parce que votre table va être gourmande en écriture et pour les grandes tables, le verrouillage des lignes d'INNODB sera un épargnant de vie MyISAM
.
En ce qui concerne la conception des tables, il semble que vous n'ayez vraiment besoin que d'une seule table:
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`;
Je suis allé avec une colonne 'id' arbitraire définie sur AUTO_INCREMENT
car la clé primaire est répliquée dans chaque entrée de chaque index. Donc, faire une clé primaire de (utilisateur, nom de fichier) peut entraîner des problèmes de performances si vos noms de fichiers sont extrêmement longs.
La taille de votre colonne 'id' dépend de la taille de votre table. Un Smallint non signé vous donnera 65 000 lignes.
L'utilisateur et les noms de fichiers sont varchar, car ils varient considérablement en longueur, je suppose.
C'est date_insert
juste un moyen de classer vos résultats en fonction du moment où ils ont été insérés (utile pour votre POP)