Mam bardzo duży stół z kluczem podstawowym z BINARY(20)
.Uzyskiwanie liczby wierszy wstawionych dla WŁĄCZENIA DUPLIKOWANEJ WIELKIEJ AKTUALNEJ Wstawki?
Tabela ma około 17 milionów wierszy. Co godzinę zadanie cron próbuje wstawić do tej tabeli aż 50 000 nowych wpisów ze składnią ON_DUPLICATE_KEY_UPDATE
.
Każda wkładka w cronjob ma 1000 wartości (wkładka wielokrotna). Jak mogę uzyskać liczbę wierszy wstawionych do tabeli z tego zapytania? Nie mogę zrobić liczby wierszy przed i po, ponieważ istnieje około 17 milionów wierszy, a zapytanie jest zbyt drogie.
w podręczniku mysql mówi na wiersz wstawiony numer dotknięte wierszy jest 1
i zaktualizowaną dziedzinie jest to 2
, czyli w moim 1000 INSERT ON duplikat KEY zapytania UPDATE mógłbym wierszy począwszy od 1000 - 2000, ale nie mam możliwości powiedzieć, ile wpisów zostało wstawionych z tego numeru?
Jak mogę to przezwyciężyć?
Dzięki
Moja matematyka nie jest najlepsza, nie mogę objąć głowy tym lolem, zrobię kilka testów, dziękuję kolego. – Griff
Rzeczywiście masz rację, dzięki koleś uratował mój dzień :) – Griff
Ten asnwer zakłada, że otrzymamy 1 lub 2 dla każdego rzędu. Z dokumentacji MySQL: Dla instrukcji INSERT ... ON DUPLICATE KEY UPDATE, wartość poszczególnych rzędów dla danego wiersza wynosi 1, jeśli wiersz jest wstawiany jako nowy wiersz, 2 jeśli istniejący wiersz jest aktualizowany, a 0, jeśli istniejący wiersz jest ustawiony na jego bieżące wartości Więc myślę, że jeśli istniejący wiersz pozostanie niezmieniony, otrzymamy 0, a to nie zadziała ..:/ – tomas