adi456
13.01.2014, 14:14:54
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
13.01.2014, 15:38:12
jak nikt Ci nie odpisze to znaczy ze wszyscy obstawiaja hosting, ja nie mialem podobnych doświadczeń
adi456
14.01.2014, 09:13:28
"> 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
14.01.2014, 10:52:23
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
14.01.2014, 10:57:29
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
14.01.2014, 11:23:13
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
14.01.2014, 11:31:34
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
14.01.2014, 11:47:59
ok dzięki za cenne uwagi faktycznie postaram sie powalczyć z lewymi zapytaniami.
a jak np zoptymalizować takie zapytanie:
{
$id=$row['id'];
$query2 = mysql_query("SELECT * FROM test2 WHERE zdid='$id' "); // 203,101 rekordów
}
};
złączyć to join'em czy jakiś inny sposób jest żeby to szybko śmigało?
Mlodycompany
14.01.2014, 11:55:15
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.