LoTGD.DE - Forum

Zurück   LoTGD.DE - Forum > Profil ansehen

Teradil Teradil ist offline

Erzhändler
Lausbube aus Leidenschaft

Profilnachrichten

Zeige Profilnachrichten 1 bis 1 von 1
  1. Stilgar
    11.07.2008 21:00 - Permalink
    Stilgar
    Hallo teradil,

    Ich hab mich mal mit dem thema sufu im hof.php beschäftigt. Is wirklich net so leicht. Hast du mal ausprobiert, ob es besser wird, wenn du die Tabelle in einen eigenen Tablespace legst? Vielleicht werden die Abfragen dann schneller? Ich kann jetzt in eure datenbanken natürlich nicht hinein, aber ich weiß, daß vom eigentlich nur die geschichte mit order by level $order, experience $order, acctid $order schwierigkeiten macht, weil die genaue position damit verschwimmt.

    Aber noch mal zu dem thema eigener tablespace. Wenn ihr die Tabelle raus nehmen würdet aus dem (wie auch immer ihr in benannt habt) tablespace und in einen eigenen geben würde, dann sollte auch die abfragen schneller gehen, die den index nicht treffen: gems als beispiel: Select name from ...accounts where gems = $session['user']['gems'] order by level $order, experience $order, acctid $order durchführbar sein. Statt einem tablespacescan über alle tabellen würde er dann wenigstens nur den table durchforsten. Das sollte dann schon wieder gehen. Oder sind die daten wirklich so groß?

    Das Ergebnis kannst ja dann durchfetchen(mitzählen) und du hast die genaue position zu jedem Spieler. Ich denke mal, daß war auch dein Ansatz wo du gescheitert bist. Denn jetzt kannst mit dem Count(*) und der Zahl der fetches genau sagen, wo der Platz des Sspielers ist.

    Probier das mal aus. Ich hab net so viele daten, daß ich das jetzt testen könnte. Aber du kannst da ja mal einfach nur den table kopieren und das dort testen via sql abfrage.

    Der Rest is dann ja nur mehr Programmieraufwand. Abfragen auf eingabefeld leer oder net, Dann abfrage auf welche $op will mein user und dann befüllst dir je nachdem eine hilfsvariable mit den $session abfragen + detailabfrage aus dem sql oben, oder mit deinem ergebnis SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere AND gems = (select gems from db_prefix("accounts") where name = eingabefeld + detailabfrage. Fertig. Dann noch schauen, auf welche seite der map steht das ergebnis und die geb ich mit dem fetch unten aus. mach ich mit Seite = ergebnis auf hilfsvariable / max. anzahl spieler pro seit
    Das gibst dann aus und fertig.

    Ps.: Mir is auch bewußt, daß ihr wenn ihr das wirklich macht, alle Programme anpassen müßt wegen dem präfix zu der Tabelle. hm. würde vermutlich bedeuten, daß die entwicklung für alle nicht so leicht wäre, aber wenn ihr wirklich die tabellen alle jeweils in einen tablespace legen würdet, dann wärt ihr viel performanter als jetzt. Das würde vermutlich auch der user am frontend deutlich spüren.

    Lg,
    Stilgar

Über mich

  • Über Teradil
    Wohnort
    Magdeburg
    Beruf
    bald wieder Student...
  • Signatur
    „In der Informatik geht es genau so wenig um Computer, wie in der Astronomie um Teleskope.“ E. Dijkstra

Statistiken

Beiträge
Profilnachrichten
Diverse Informationen
  • Letzte Aktivität: 04.05.2009 08:44
  • Registriert seit: 10.06.2004
  • Empfehlungen: 1

Kontaktinformation

Instant Messenger
Teradil über einen Instant-Messenger kontaktieren...
Diese Seite
http://lotgdforum.de/members/teradil.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:51 Uhr.


Powered by vBulletin® Version 3.7.0 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0 RC7

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62