Paprastai Debian, parestartavus mysql paleidžia repaire skriptą. Jeigu DB nedidelė - tu jo nepastebėsi, tačiau jeigu db didelė - skriptas sukasi ilgai ir sulėtina db veikimą. Galima išjungti šį tikrinaimą, arba tiesiog palaukti kol jis padarys savo darbą.
1 2010-12-03 10:23:58
Re: VPS mysql + reboot (7 replies, posted in MySQL diegimas ir konfigūravimas)
2 2010-11-29 14:07:02
Re: system error: 54 (4 replies, posted in MySQL diegimas ir konfigūravimas)
panašu į firewall
3 2010-11-02 15:48:45
Re: Pagalbos sauksmas (2 replies, posted in SQL užklausos ir duomenų struktūros)
Jeigu antros lentelės pavadinimas DėžutėsSaldainiai, tai užklausa bus
SELECT Dėžutės.D pavadinimas, Saldainiai.Sald. pavadinimas, (Dėžutės.gam įkainis+(Saldainiai.v kaina *Dėžutės.Sald. v.skaičiu)) AS Dėžutės kaina
FROM
DėžutėsSaldainiai
JOIN Dėžutės ON (DėžutėsSaldainiai.Dėžutės ID =Dėžutės.Dėžutės ID)
JOIN Saldainiai ON (DėžutėsSaldainiai.Sald. ID =Saldainiai.Sald. ID)
4 2010-10-04 23:25:31
Re: rikiuojam ir skaiciuojam (6 replies, posted in SQL užklausos ir duomenų struktūros)
nerekomenduočiau :)
čia tik apėjimas, kurio pasekmė gali būti temporary tables :) ir didelis IO
5 2010-10-04 22:24:24
Re: rikiuojam ir skaiciuojam (6 replies, posted in SQL užklausos ir duomenų struktūros)
tai tavo ataskaitos eilutės nr. Išvedimas priklauso nuo priemonių.
Su php
<?php
$result = mysql_query('/**tavo query su ORDER BY suma DESC/');
$i = 0;
while ($row=mysql_fetch_object($result) && (++$i))
echo $row->Vardas . '/' . $row->Suma . '/' . $i . "\n";
per mysql užklausą, tikrai neverta mėginti spęsti šios užduoties ;)
6 2010-10-04 09:34:13
Re: UPDATE optimizavimas (6 replies, posted in SQL užklausos ir duomenų struktūros)
Sveiki! Kokių būtų žinote optimizuoti UPDATE užklausas? Na tarkim kaip updatint dvi lentas viena užklausa ir pan...
Ką tu nori optimizuoti ? Kas bus optimaliau, jeigu vietoj dviejų užklausų, sugrūsi viską į vieną?
7 2010-04-26 14:27:06
Re: Iekau pagalbos del echo ""; (9 replies, posted in PHP)
Tai va, jei trumpai, turiu sukūręs funkciją
function kiek_komentaru($naujienosid) { $komentarai = mysql_query("SELECT * FROM komentarai WHERE naujienosid=$naujienosid"); $kiek_komentaru = mysql_num_rows($komentarai); echo "$kiek_komentaru"; }
šį komentarų skaičių noriu atvaizduoti kitoje funkcijoje kuri spauzdins naujienas
Tą skaičių atspauzdina, bet ne toje vietoje kur noriu, norėčiau, kad Komentarų ( Spauzdintų čia ). Ką ne taip užrašiau gal kas matote? Nes aš jau nieko nebematau :D
Nesąmonė Selectinti visus duomenys, kad panaudotum mysql_num_rows. Tam skirta mysql COUNT() funkcija.
8 2010-04-21 23:34:49
Re: nuomonės: xcache, memcache, lighthttpd, nginx, Sphinx Search (14 replies, posted in Hostingas, Serveriai, LAMP, WAMP ir t.t.)
xcache ir memcache. kokios realios naudos jie suteikia? vėlgi, kaip tai įtakoja kodo rašymą?
xcache - php opcode kešeris / optimizeris. jis kešuoja tavo php skriptus prieš tai paoptimizavęs. Taipogi jame gali saugoti ir savo objektus, tarkim dažnos užklausos rezultatą. Jeigu apache su mod_php - duomenys saugomi apache shared memory. Perkrovus apache, kešas dingsta. jeigu turi du web serverius, tai kiekvienas turės atskirą kešą. Kiek pamenu, jis veikia jeigu php kraunamas per mod_php arba fastcgi. Kitu atveju (cgi, suphp) jis neveikia, nes kiekvienai užklausai paleidžiamas atskiras procesas kuris nesidalina kešo atmintimi.
memcache - tai tinklinis cache serveris. Jis veikia nepriklausomai nuo web serverio. Jis pasiekiamas per tinklą. Jis naudojamas tuo atveju, jeigu daugiau nei vienas web serveris arba daugiau nei vienas memcache :)
Vienu ir kitu atveju, tavo php scriptai turi žinoti, ką ir kur kešuoti. Tarkim kažkokios sql užklausos rezultatą.
Sphinx Search. apie šį daiktą beveik išvis nieko nežinau, tik suprantu, kad jis skirtas atlikti full-text paieškai duomenų bazėje. ar tai reikalauja kodo pataisymų? ar duoda realią naudą lyginant su standartinėm MySQL galimybėm.
Sphinx Search gėris palyginus su mysql full-text. Jis leidžiamas kaip atskiras serveris. Full-text paieškas atlieka žymiai greičiau. Dažnai naudojamas, kai nėra galimybės naudoti myIsam dėl jo table locku. Norint naudoti, reiks keisti php skriptus, kad jie mokėtu ieškoti Sphinx. Naujas sphins, palaiko mysql protokolą, taigi galima jungtis su standartiniu mysql klientu.
jo minusai - didelis IO perindeksavimo metu. Pakeitus tekstą db, sphinx apie tai nesužinos kol pilnai neperindeksuosi. nauji duomenys į sphinx patenka, tik paleidus indeksavimą.
9 2010-04-21 23:11:04
Re: nuomonės: xcache, memcache, lighthttpd, nginx, Sphinx Search (14 replies, posted in Hostingas, Serveriai, LAMP, WAMP ir t.t.)
MySQL'e tam yra VIEW'ai arba MEMORY/HEAP duomenų saugojimo variklį.
Bet pirmiausia tai aišku yra analizė - kodėl tiek ilgai užtrunka duomenų paėmimas iš DB, nes tai tik rodo, kad yra jau kažkas blogai su duomenų struktrom / užklausom.
Kešavimas dažniausiai naudojamas, tam kad nukrauti užklausas nuo DB. Taigi kešuoti į tą pačią db nelogiška. Taipogi reikia kurti kešo valdymą (trynimą objektų kurie expirinosi). MEMORY/HEAP saugojimo varikliai - apriboti ramu (arba db serverio nustatymais), taigi reikia rūpintis, kad lentelėse neprisikauptu per daug duomenų. MEMORY/HEAP - tai tas pats myisam tik tiek, kad duomenys saugomi rame. Tokios lentelės paveldi visus myisam minusus (table lock'us). Dažnai tokiose lentelėse atliekamos ne tik select užklausos, bet ir update / delete, todėl atsiremiama į table lock'us.