Ir dar vienas pastebėjimas. Užklausoje yra tokios eilutės:
LEFT JOIN KOMENTARAI ON A.ID = KOMENTARAI.KAM
ir
GROUP BY KOMENTARAI.KAM, A.ID
Kodėl yra grupuojama pagal abu laukus? Manau užtektu tik pagal vieną iš jų.
PHP ir MySQL programavimas, SQL užklausos, duomenų bazės, PHP scriptai, pagalba, diskusijos, pamokos ir straipsniai.
You are not logged in. Please login or register.
PHP ir MySQL → Posts by minde
Ir dar vienas pastebėjimas. Užklausoje yra tokios eilutės:
LEFT JOIN KOMENTARAI ON A.ID = KOMENTARAI.KAM
ir
GROUP BY KOMENTARAI.KAM, A.ID
Kodėl yra grupuojama pagal abu laukus? Manau užtektu tik pagal vieną iš jų.
;) Toks greitas ir elementarus "optimizavimas" tai būtų: uždėti INDEX'ą ant komentarai.KAM lauko.
O toliau dar reikia pažiūrėt.
p.s.: dėdamas užklausas ar jų rezultatus naudok BBKodą ;)
La,
Prieš kažką siūlant norėtusi matyti tokius dalykus:
EXPLAIN IMAGES;
EXPLAIN KOMENTARAI;
šiandien beskaitinėdamas planetmysql aptikau galimybę gauti nemokamą MySQL accountą (duombazę).
Na tai nėra tai ko reikia man, bet kai kuriem iš Jūsų, gali praversti:
http://www.db4free.net/index.php?sectio … =d4f_apply
Tame hostingas.in radau labai idomią naujieną (-:
Cituoju: "2006.01.26 Daugelio vartotojų pageidavimu, realaus laiko pokalbio kambariai uždraudžiami."
Taip išeina, kad daugumą jų paslaugų vartotoja prašė, kad jiem būtų uždrausta diegti visokius chat'us ;)
Greitis ir optimalus veikimas mažai ką turi bendro ;)
Manau, kad greitinti mysql'o darbą yra daug kitų, efektyvesnių būdų.
O dėl kompiliavimo opcijų konkretiem procesoriams pasižiūrėk Makefile.
Na tai ten jau viskas suoptimizuota tų, kas kodino mysql'ą ;)
La,
Gal geriau pasiimti 64bitu sukompiliuotą mysql'a? (-;
La,
SELECT pavadinimas, istrauka, naujiena FROM lentele WHERE id = 3
Deja dalyvavimas projektuose nelabai įmanomas, todėl galiu tik šiame forume pagelbėt: pakonsultuoti, nukreipti teisinga linkme ar pataisyt klaidas (-;
Aišku. žodžiu viską galima suskirstyti į dvi dalis:
a) log'o (žurnalo) parsinimas (klaidų pranešimų išgavimas) - reikėtu naudoti preg_match() funkciją;
b) klaidų aprašymų išgavimas iš duombazės pagal klaidos pranešimą - standartinės mysql_* arba mysqli_* funkcijos;
Jeigu nėr kažkokių sunkinančių aplinkybių tai galima vertinti, kad toki scriptą parašyti nėra sunku ;)
(-; Tai vat labai idomu visokie nemokami hostingai, nes dažniausiai jų kokybė būna prasta ir/arba po tam tikro laiko jie "užsilenkia".
Nereikalingas kablelis prieš FROM.
Tai tikriausiai tavo "kode" (SQL užklausoje) yra nurodyti, kad kurti būtent TINYTEXT tipo stulpelį.
Tai, o kur visa SQL užklausa? Taip pat pateik MySQL serverio versiją.
Na tai TINYTEXT irgi yra 255 baitų ilgio. Pakeisk į TEXT.
Vadinasi neteisinga užklausa.
Stenkis naudoti:
$res = mysql_query($query) or die(mysql_error());
Tokiu atveju matysi kokia klaida yra SQL užklausoje. Galėtum ją pačią ir parodyt.
Reikia pakeisti stulpelio tipą į talpesnį, tarkim TEXT tipas leis to stulpelio laukuose laikyti 64kb teksto (spėju pas tave davar VARCHAR, kuris teleidžia laikyti 255 baitus).
Daugiau apie eilučių tipus: http://dev.mysql.com/doc/refman/4.1/en/ … rview.html
Tai duomenų išvedimas nieko nesiskiria ar tu juos imi iš vienos lenteles ar iš kelių.
Dėl užklausos sutrumpinimo tai tikriausiai palik kaip yra.
PHP ir MySQL → Posts by minde
Powered by PunBB, supported by Informer Technologies, Inc.