Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z serwerem czy to możliwe?
Forum PHP.pl > Forum > Przedszkole
adi456
Witam, mam taki dziwny problem, gdy edytuje rekordy w mysql poprzez php czasem (bardzo żadko) po krótkim czasie wracają wartości sprzed zmiany, zupełnie jakby ktoś przywracał kopie bazy tylko że wtedy nie było by najnowszych wpisów.

Czy patrząc technicznie może być to jakiś błąd mysql lub php? czy można założyć że to wina hostingu i ich odrazu krzyczeć?

w skryptach php nie ma takiej opcji żeby przywrócić wartości sprzed zmiany.

bardzo proszę o komentarz.
fate
jak nikt Ci nie odpisze to znaczy ze wszyscy obstawiaja hosting, ja nie mialem podobnych doświadczeń
adi456
"> Jest tego typu problem że baza xxx generuje b duże obciążenie zasobów prosesora CPU, dokładnie baza danych xxx.

> Napisaliże wygląda to na brak założonych
> indeksów w wyniku czego wyszukiwanie danych musi przeszukać bardzo duże
> ilości rekordów co wpływa na obciążenie procesora."

tak mi admin napisał pewnie jedno z drugim ma związek, tylko o co chodzi z tymi indexami?

każda tabela ma kolumne id który ma index primary to o to chodzi adminowi?

Wogule jest możliwe żeby tak obciążać dedykowany serwer aplikacją bazodanową z której korzysta max 20 osób jednocześnie?
mmmmmmm
Dla dedyka 20 userów to pikuś.
O indeksach można napisać niejedną książkę. Generalnie są dwie szkoły - albo piszesz zapytania pod indeksy, albo tworzysz tabelę wraz z indeksami mając na względzie przyszłe zapytania.
Ale nie jest to związane z tym, że pojawiają się "stare" dane.
nospor
Cytat
Wogule jest możliwe żeby tak obciążać dedykowany serwer aplikacją bazodanową z której korzysta max 20 osób jednocześnie

Jesli masz tam jakies "lewe" zapytania, ktore generują baaardzo dlugo..... Dodaj do tego inny ruch, np. google i innego tego typu wynalazki
Co nie zmienia faktu, ze nie powinno to miec wplyw na zanik nowych danych

ps: czy to przypadkiem serwer na home.pl ?
adi456
serwer w kei.pl, bez niepotrzebnych lewych zapytań (wszystkie są potrzebne niektóre faktycznie ładują sie po 1min), inny ruch wykluczony, mam wrażanie że właśnie zaniki danych są z tym związane ponieważ wczoraj mnie to wkurzało, 4 razy edytowałem te same rekorty, po czym admin sam do mnie napisał.

na temat indexów to fakt musze jeszcze poczytać, ale coś mi sie wydaje że owszem mam dedyka ale pewnie dzielonego z innymi.

tak sie zastanawiam czy nie przenieś wszystkiego na własny serwer, który mam postawiony na potrzeby MsSql a i tak działa 24h/dobe.

komp: Xeon E3-1230 v2, ramu 8GB, zasilacz Corsair TX 650W, RAID SAS/SATA LSI 9211 z dwoma dyskami WD RED po 1GB (raid 1), łącze 50/50 Mb/s, prąd stabilny, UPS jeszcze tylko planuje dokupić. Obecne stałe Zużycie CPU przeważnie 15%.

nowa więdza się sprzyda tylko nie chciał bym osiwieć przy tym jak myślicie bawić sie w to?
nospor
Cytat
(wszystkie są potrzebne niektóre faktycznie ładują sie po 1min)
Mowiac "lewe" mialem na mysli wlasnie zle napisane, ktore wykonuje sie kilkadziesiat sekund. A skoro sam piszesz, ze masz zapytania ktore wykonują sie nawet po 60sekund, wiec tak, to moze byc problemem obciazenia nawet przy max 20 userach.

Czy to ma zwiazek z zanikiem nowych danych? Kurcze, raczej nie powinno. Skoro dane ci sie zapisaly w bazie i jestes w stanie je przegladac na stronie, no to nie powinny nagle ni z gruszki nie zpietruszki zniknac.
adi456
ok dzięki za cenne uwagi faktycznie postaram sie powalczyć z lewymi zapytaniami.

a jak np zoptymalizować takie zapytanie:

  1. $query = mysql_query("SELECT * FROM test LIMIT 1000") or die(mysql_error()); //33,474 rekordów
  2. while ($row = mysql_fetch_assoc($query))
  3. {
  4. $id=$row['id'];
  5.  
  6. $query2 = mysql_query("SELECT * FROM test2 WHERE zdid='$id' "); // 203,101 rekordów
  7. while ($row2 = mysql_fetch_assoc($query2)) {
  8.  
  9. }
  10. };


złączyć to join'em czy jakiś inny sposób jest żeby to szybko śmigało?
Mlodycompany
oczywiście aby to złączyć joinem. w Tym momencie masz 33k zapytań zamiast 1
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.