SQLite mit Index?
Verfasst: Samstag 11. Juli 2009, 16:23
Hi.
Ich erstelle derzeit für ein Onlinegame ein Rankingsystem welches nach Kills sortiert ist. Das heißt, der Spieler mit den meisten Kills ist Erster.
Die Tabelle ist so aufgebaut:
Bei Google habe ich folgendes über Indizen gefunden: http://sql.1keydata.com/de/sql-create-index.php
Meine Frage ist nun, ob mir das überhaupt was bringt, denn das Problem ist, dass ich die Position des Ranks ermitteln muss. Ich kann dank SQL zwar schnell ermitteln, wie viele Kills der jeweilige Spieler hat, dennoch habe ich bisher immer wiefolgt die Position ermittelt:
Das ganze funktioniert zwar relativ gut, dennoch dauert es umso länger, desto weiter hinten der Spieler im Ranking ist.
Ich weiß derzeit nicht so wirklich, ob ich mit dem Index was anfangen kann, oder wie man das am besten lösen kann.
~ Chris
Ich erstelle derzeit für ein Onlinegame ein Rankingsystem welches nach Kills sortiert ist. Das heißt, der Spieler mit den meisten Kills ist Erster.
Die Tabelle ist so aufgebaut:
Code: Alles auswählen
playerid VARCHAR username VARCHAR kills INTEGER deaths INTEGER
Meine Frage ist nun, ob mir das überhaupt was bringt, denn das Problem ist, dass ich die Position des Ranks ermitteln muss. Ich kann dank SQL zwar schnell ermitteln, wie viele Kills der jeweilige Spieler hat, dennoch habe ich bisher immer wiefolgt die Position ermittelt:
Code: Alles auswählen
database.query("SELECT playerid FROM ranks WHERE kills > 49 ORDER BY kills DESC, tode ASC, username ASC")
position = database.cursor.fetchall().index((playerid,)) + 1
Ich weiß derzeit nicht so wirklich, ob ich mit dem Index was anfangen kann, oder wie man das am besten lösen kann.
~ Chris