Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zbyt duża ilość zapytań do bazy [MySQL][PHP]
kubax33
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


Mam limit 30 zapytań do bazy. Aktualizuję w bazie ceny opisy itp. Wszystko wykonuje się w pętli dla około 15 tys pozycji. Poniżej zapytania, które generuje skrypt. Niestety za każdym razem serwer blokuje mi połączenie przy około 3 tysięcznej pozycji tracąc połączenie z bazą. Czy jest możliwość jakiegoś zoptymalizowania tych zapytań, aby skrypt nie obciążał tak bazy? Swoją drogą ciężko mi pojąć funkcjonowanie tych maksymalnych 30 zapytań do bazy, aby to omijać jakoś logicznie licząc.

  1. $ins1 = mysql_query("INSERT INTO aktualizacja (ean) VALUES('$ean13');");
  2. $ins2 = mysql_query("SELECT * FROM ps_product WHERE ean13=$ean13");
  3. $ins3 = mysql_query("UPDATE ps_product SET price=$price WHERE ean13=$ean13");
  4. $ins4 = mysql_query("SELECT * FROM ps_specific_price WHERE id_product='$rekord'");
  5. $ins5 = mysql_query("UPDATE ps_specific_price SET reduction='$reduction_brutto_end_2' WHERE id_product=$rekord ");
  6. $ins6 = mysql_query("UPDATE ps_product_shop SET price=$price WHERE id_product=$rekord");
  7. $ins7 = mysql_query("UPDATE ps_product_lang SET meta_title='$meta_title' WHERE id_product=$rekord");
  8. $ins8 = mysql_query("UPDATE ps_stock_available SET quantity='$active' WHERE id_product=$rekord");
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kubax33
post
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


faktycznie multi_query() daje chyba ten sam efekt. Co masz na myśli wspominając aktualizację sekwencyjną? nie chciałbym ręcznie tego robić tylko ewentualnie jakoś wprowadzić sekwencje przez skrypt. Myslałem też o
  1. sleep(10);
i nawet ją zastosowałem, aby np. przy 1000 2000 3000 produkcie skrypt się zatrzymał, ale co z tego jak np. przerwało mi na 2333. Nie wiem też jak sprawa wygląda jeśli chodzi o wstawanie takiego serwera MYSQL bo mam wykupiony prywatny serwer + oferta Performance 1 w OVH Ilość jednoczesnych połączeń do bazy 30 i nie wie czy to jest na sekundę czy jak ponieważ nie widze tego wskazania. Ustawiłem serwer mysql max_connections = 200. To też nic nie dało. Wskażcie co byście w tej sytuacji zrobili. Zmiana hostingu nie wchodzi w grę. Rozumiem, że jeśli wszystkie zapytania są mi potrzebne nie ma innej możliwości ograniczenia ich bo skrypt i tak musi się z bazą połączyć i pobrać to co potrzebuję tym bardziej, że wszystko jest w innych tabelach.

Cytat(bobek358 @ 24.11.2015, 08:28:00 ) *
To są tylko update czy jakieś selekty też?


2 selekty
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 04:56