Jeśli pytasz o to, której bazy danych użyć, tak naprawdę zależy to od osobistych preferencji i tego, czego chcesz od niej. Ponieważ znam tylko MySQL, odpowiem na drugą część pytania zakładając MySQL:
będziesz chciał z niego korzystać, INNODB
ponieważ twoja tabela będzie intensywnie zapisywać, a dla dużych tabel blokowanie wierszy INNODB może uratować życie MyISAM
.
Jeśli chodzi o projekt stołu, wydaje się, że naprawdę potrzebujesz tylko jednego stołu:
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`;
Poszedłem z dowolną kolumną „id” ustawioną na, AUTO_INCREMENT
ponieważ klucz podstawowy jest replikowany przy każdym wpisie każdego indeksu. Tak więc wykonanie klucza podstawowego (użytkownik, nazwa pliku) może powodować problemy z wydajnością, jeśli nazwy plików są bardzo długie.
Rozmiar kolumny „id” zależy od tego, jak duży będzie Twój stół. Unsigned Smallint da ci 65 tys. Rzędów.
Użytkownik i nazwy plików są zmienne, ponieważ zakładam, że drastycznie różnią się długością.
Jest date_insert
to tylko sposób na uporządkowanie wyników na podstawie daty wstawienia (pomocne dla POP)