Oldal: 1 / 2 12 UtolsóUtolsó
Eredmény: 1 - 10 (11) összesen

Téma: szakértői segítségre lenne szükségem

  1. #1
    Adminisztrátor BagiZoli logója
    Csatlakozott
    07-04-26
    Hely
    8200, Királynék városa
    Hozzászólás
    3.858
    Begyűjtött 323 köszönetet
    156 hozzászólásával

    Alapbeállítás szakértői segítségre lenne szükségem

    Sziasztok!

    A következő dilemmám van, aminek eldöntésére számítok segítségetekre.

    Unalmas óráimat kitöltve elkezdtem egy cms-t írni alapon. A kezdőlapon van három funkció ami ugyanazt a táblát használja inputként. Mit javasoltok sebesség és egyéb megfontolások alapján?
    a) a kimenethez szükséges elemeket a db query szintjén szűrjem, azaz lesz 3 query-m, azonos táblát érintve eltérő where értékkel.
    b) egy query legyen és az eredmény tömböt foreach loopon belül filterzve lökjem egy új tömbbe (array_push) majd dolgozzak vele tovább, azaz legyen egy querym és 2 foreachen belül előállított két új tömböm

    Meglátásaitokat nagyon köszönöm!



  2. #2
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Idézet Bagi Zoltán eredeti hozzászólása Hozzászólás megtekintése
    Sziasztok!

    A következő dilemmám van, aminek eldöntésére számítok segítségetekre.

    Unalmas óráimat kitöltve elkezdtem egy cms-t írni alapon. A kezdőlapon van három funkció ami ugyanazt a táblát használja inputként.
    hát én ezt sajnos nem értem
    update:
    talán mégis. tehát van egy tábla aminek az adataival 3szor is dolgozol, különböző feltételekkel szűrve azokat.
    ha igy van, akkor sokmindentől függ hogy melyik a jó megoldás. ha sok adat van a táblában akkor gyorsabb a 3 lekérdezés különböző where -ekkel,ha nincs tul sok record a táblában akkor viszont én egyszerre lekérdeznék mindent és utána szűrnék.


    Utoljára módosítva: Geri által : 2010-01-04 15:59
    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Ruby blog
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  3. #3
    TZ.
    TZ. nem elérhető
    Mentor TZ. logója
    Csatlakozott
    09-11-06
    Hely
    Budapest
    Hozzászólás
    454
    Begyűjtött 11 köszönetet
    6 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Az adatbázishoz mindig hozzányúlsz? Mivel bizonyos szolgáltatóknál belassulhat a MySql rajtam kívűl álló okok miatt is, a query-ket általában cache-elni szoktam, még akkor is, ha gyakran modosul az eredményük. Ebben az esetben kb 5 percig tartom meg az eredményeket. Ha ritkén változik, főleg, ha egyértelmű, hogy minek a hatására, akkor az adott hatás kiváltásakor törlöm a cache fájlt.

    No, azért hoztam ezt elő, mert ha az esetk 99,9%-ban cache-ből rántjuk elő a query eredményét, akkor nyílván másképpen kell okoskodni, mint egyébként.

    Ha CMS-t írsz, és mindezt unalmadban :-), akkor szerintem csináld robosztusra!



  4. #4
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Idézet TZ. eredeti hozzászólása Hozzászólás megtekintése
    Az adatbázishoz mindig hozzányúlsz? Mivel bizonyos szolgáltatóknál belassulhat a MySql rajtam kívűl álló okok miatt is, a query-ket általában cache-elni szoktam, még akkor is, ha gyakran modosul az eredményük. Ebben az esetben kb 5 percig tartom meg az eredményeket. Ha ritkén változik, főleg, ha egyértelmű, hogy minek a hatására, akkor az adott hatás kiváltásakor törlöm a cache fájlt.
    ha nem a kész kimenetet cache-led hanem csak az sql -el eredményét fájl alapon akkor az inkább ront a teljesítményen mint javít. egy fájl megkeresése és megnyitása elég sok időt/erőforrást eszik, ezért én vagy a db-ben menteném le a helyeden a bonyolultabb lekérdezések eredményét vagy nem cache-lnék igy



  5. #5
    TZ.
    TZ. nem elérhető
    Mentor TZ. logója
    Csatlakozott
    09-11-06
    Hely
    Budapest
    Hozzászólás
    454
    Begyűjtött 11 köszönetet
    6 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Idézet Geri eredeti hozzászólása Hozzászólás megtekintése
    ha nem a kész kimenetet cache-led hanem csak az sql -el eredményét fájl alapon akkor az inkább ront a teljesítményen mint javít.
    Biztosan van olyan eset, amikor igazad van. Természetesen a lehető legfeldolgozatabb változatot igyekszem cache-elni. A sokat emlegetett webserver nevű szolgáltató azonban rászoktatott, hogy mindenből legyen cache, mert esetleg egy röpke fél órára elérhetetlennél válik az adatbázis... de ez most nem tartozik ide.

    Szóval csak arra akartam kijukadni, hogy a fenti kérdések eldöntésekor érdemes ezt a cache dolgot is mérlegelni és ezzel együtt hozni megfelelő döntést.



  6. #6
    Adminisztrátor BagiZoli logója
    Csatlakozott
    07-04-26
    Hely
    8200, Királynék városa
    Hozzászólás
    3.858
    Begyűjtött 323 köszönetet
    156 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Ha minden igaz a codeigniter tudja cachelni a db-t, de egyenlőre ezen a területen még nem néztem szét. Geri, igen jól értetted. Van a content táblám, amiból legenerálom a tartalom, menü (csak aktív és csak oldalak) és azutolsó x darab blogposzt (csak blogposzt és csak aktív) megjelenítését. A normál oldalak és a posztok azonos táblában van enum-mal kategórizálva. Előre nem tudom sajnos megmondani, mennyi tartalmi elem lesz, mondjuk 100-200 közé becsülném.



  7. #7
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Idézet Bagi Zoltán eredeti hozzászólása Hozzászólás megtekintése
    Előre nem tudom sajnos megmondani, mennyi tartalmi elem lesz, mondjuk 100-200 közé becsülném.
    én 3 külön query-vel csinálnám.



  8. #8
    Tag todi logója
    Csatlakozott
    09-12-22
    Hely
    Budapest
    Hozzászólás
    56
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    na én biztos 3 lekérdezést csinálnék, mert ha mindegyikből csak az első 10-et szeretnéd kiíratni, akkor egyszerűbb limit 0,10 mint szűrni a tömböt, hogy legyen benne 10 elem.



  9. #9
    Új tag
    Csatlakozott
    10-01-08
    Hozzászólás
    25
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Idézet Bagi Zoltán eredeti hozzászólása Hozzászólás megtekintése
    b) egy query legyen és az eredmény tömböt foreach loopon belül filterzve lökjem egy új tömbbe (array_push) majd dolgozzak vele tovább, azaz legyen egy querym és 2 foreachen belül előállított két új tömböm
    Ha már optimalizálás, array_push() helyett javaslom a [] -t, hacsak nincs feltétlen szükséged az array_push-ra valamilyen megfontolásból.

    Idézet PHP.net-ről:
    Note: If you use array_push() to add one element to the array it's better to use $array[] = because in that way there is no overhead of calling a function.



  10. #10
    Mentor arth2o logója
    Csatlakozott
    10-03-11
    Hely
    Győr
    Hozzászólás
    408
    Begyűjtött 7 köszönetet
    2 hozzászólásával

    Alapbeállítás re: szakértői segítségre lenne szükségem

    Szia!
    A codeigniter tényleg tudja cachelni a kéréseket, de okozhat meglepetést, ha elfeledkezel róla. Gyakorlatilag amíg le nem jár, addig folyamatosan u.a. az adatokat kapod vissza.

    Én úgy szoktam, hogy a kérés eredményét letárolom, bizonyos ideig. Persze az adatokat ki indexelem több módon, ahogy éppen listázni szeretném. (id, kategória, stb..)

    Ha megvan a cache tartalom, nem indít kérést a mysql felé, ha nincs végrehajtja.
    Olcsóbb egy fájlművelet, mint egy DB.
    De használhatsz SQLite3 adatbázist a MySQL helyett és akkor ez már nem annyira számít.

    Most látom milyen régi bútordarabhoz szóltam hozzá



Oldal: 1 / 2 12 UtolsóUtolsó

A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •