Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Unique z kilku pól, czy sprawdzanie w aplikacji.
Forum PHP.pl > Forum > Bazy danych > MySQL
NoiseMc
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.
SongoQ
Cytat
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,

Tylko to nie wyklucza bledu programu, jesli masz index to gwarantuje Ci ze nie bedziesz mial powtarzajacych sie danych.
NoiseMc
Dlatego też wybrałem tę opcję, po drugie jest mi prościej dodawać kolejne rekordy i nie szarpię bazy zapytaniami.

Czyli sugerujesz SongoQ, że mimo dużych rozmiarów indeksów i tak powinienem zostać przy dotychczasowym rozwiązaniu.
SongoQ
Tak, bo zawsze gwarantujesz ze dane beda poprawne. To ze indeks tyle zajmuje to nie przeszkadza.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.