![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
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. Ten post edytował NoiseMc 6.12.2005, 13:00:44 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Tak, bo zawsze gwarantujesz ze dane beda poprawne. To ze indeks tyle zajmuje to nie przeszkadza.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 18:14 |