Mam dylemat otóż w tej chwili mam nałożone ograniczenie UNIQUE w tabeli w postaci dwóch pól: VARCHAR(80) i VARCHAR(2) w celu sprawdzania przy dodawaniu rekordów: ON DUPLICATE KEY UPDATE Mail = VALUES( Mail ).
Przy 16 000 rekordow indeks waży 2,5 MB co jest 2 razy więcej niż same dane.
Czy lepiej, wydajniej będzie sprawdzać czy nie występują duplikaty na poziomie aplikacji czyli jeden INSERT = jeden SELECT = 2 zapytania przy każdym dodaniu, co przy wprowadzaniu przypuśćmy 5000 rekordów na raz da 10 000 zapytań.
Czy jedno zapytanie wykonujące insert 5000 rekordów, ale za to gigantyczny indeks.
Dodam, że aplikacja nigdy nie będzie obsługiwać więcej niż kilku użytkowników w jednym czasie, ale dane mogą być modyfikowane dość często.