![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam skrypt, który aktualizuje dane z jednej bazy MySQL z drugą. Po zrobieniu testu na zamianie 6 rekordów w jednej bazie są one zmieniane w drugiej. Ale: Ogólna ilość dostępnych i niedostępnych produktów zmienia się o 8 zamiast o 6? Ogólnie pobieram rekordy gdzie stan jest <3 i w drugiej bazie wyłączam je avaiblable = 0 A potem sprawdzam rekordy które są >2 i włączam za pomocą avaiblable = 1
Dodam, że skrypt trochę długo się wykonuje i proszę o wskazówki jak można by było go zmodyfikować. Oto test:
i to daje
i dalej jak uruchomię na pierwszej bazie
[/SQL] Dostaje
Pozdrawiam Ten post edytował nikos 19.07.2017, 13:03:14 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No a nie jest tak, ze w tabeli drugiej masz kilka rekordow dla ktorych subiekt_id wskazuje na ten sam index?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wykonujesz raptem 6 razy prosty UPDATE. Skoro przy czyms takim ci muli, to pewnie nie masz zalozonych indeksow na polach, po ktorych wyszukujesz zarowno przy select jak i update
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:35 |