| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| da schreibt der ElePHPant Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Dann musst du eine Ralationentabelle erstellen. In der die ID des Kartenteils und die ID des Quadrats gespeichert wird. Dann hast du jeden Quadrattyp nur einmal abgespeichert, allerdings hat deine Relationentabelle trotzdem 16 Mio Einträge. Die Frage ist halt überhaupt ob du alles so genau abspeichern möchtest. Wieso kann du die Kartenteile nicht einfach als eine vorgefertige Grafik speichern z.b. Also einmal generieren lassen und dann abspeichern. Und jedes mal wenn dann die Gebäude darauf kommen dann liest du eben aus der Datenbank nur die Gebäude aus ... das sind dann wohl nur noch ein Bruchteil von 16 Mio. Weil 16 Mio Einträge so zu speichern dass du dann ohne Probleme immer 50x50 auslesen kannst wird schwierig. Falls du dann wirklich die Lösung nutzen solltest dass du bei einem Kartenteil einen String speicherst der alle IDs der Typen speichert dann würde ich aber trotzdem darauf verzichten die als ASCII Zeichen zu speichern. Wie viele Typen von Quadraten hast du denn? Bestimmt nicht 255 oder? Wenn du maximal 10 Typen hast dann haste ja auch immer pro Typ 2 Byte (eine Zahl + Trennzeichen). |
| |
| | ||
| Erfahrener Benutzer Registriert seit: 19.03.2007
Beiträge: 176
![]() | Zitat:
Zum einen ist das Problem ganz einfach, das es kein "Standardfeld" in diesem Sinne gibt. Also es gibt keinen Standardfeld bei dem ich sagen kann "eine karte besteht aus diesem feld und obendrauf setze ich einfach häuser". Allerdings habe ich nach einigen Tests mit 15 Millionen Feldern folgende Erkentniss gewonnen: Es kommt nur auf die größe der Tabelle an, nicht auf die größe der Datenbank. Sprich was ich machen werde, ist meine Karte in 316*316 Quadranten einzuteilen. Und jeder Quadrant wird eine eigene Tabelle. So bekomme ich Tabellen mit maximal 100.000 Zeilen und diese arbeiten ziemlich schnell soweit ich das testen konnte (SELECT-Anfrage ohne Ergebnisse, sprich er muss die gesamte Datenbank durchsuchen, dauert 0.06s was eigentlich ein ziemlich normaler Wert ist). Die einzelnen Zeilen versuche ich natürlich vom Platzverbrauch her zu optimieren, das wird man sehen. Aber generell sollte ich so hinkommen. Dann komme ich zwar im Endeffekt auf 16 Millionen Zeilen, allerdings wird die Datenbank nicht langsam (zumindest konnte ich das nicht feststellen, hatte eine Datenbank mit 160 Tabellen á 100.000 Zeilen, also auch 16 Millionen Einträge und es lief schnell). So sollte ich die Performance möglichst hoch halten können und trotzdem alles speichern. Oder hat jemand noch Ergänzungen dazu? mfg PS: So wie ich das angedacht hatte hätte es durchaus sein können das ich mehr als 255 Typen habe. Wenn ich jetzt aber jedes Feld als einzelne Zeile speichere erübrigt sich das ja sowieso. | |
| |
| | |
| da schreibt der ElePHPant Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ja jedes Element seperat zu speichern finde ich auf jeden Fall besser. Das mit mehreren Tabellen hatte ich ja schon angesprochen. Es geht wirklich nur darum was eben an Daten durchsucht werden muss bei einer Abfrage, wenn eine Tabelle kleiner ist geht dass natürlich schneller. Nur die Flexibilität leidet halt darunter dass du Daten gleichen Types in verschiedenen Tabellen speicherst. |
| |
| | ||
| Erfahrener Benutzer Registriert seit: 19.03.2007
Beiträge: 176
![]() | Zitat:
| |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Benutze Zeichen anzeigen! | cokotech | Datenbanken | 3 | 06.06.2008 18:24 |
| erste 7 zeichen überprüfen | aircrash | PHP Tipps 2008 | 1 | 28.09.2007 09:11 |
| Regex Problem in Verbindung mit ASCII Zeichen | R4v3r | PHP Tipps 2007 | 4 | 15.02.2007 17:41 |
| Wieviel Pixel hat ein Zeichen? Ausmessen eines DIV-Container | webazubi | PHP-Fortgeschrittene | 4 | 06.07.2006 14:52 |
| ascii zeichen umwandeln | rooomka | HTML, Usability und Barrierefreiheit | 1 | 28.04.2006 19:45 |
| Unsichtbares Zeichen - IE vs. Firefox | Cyberbob_at_tot | PHP Tipps 2006 | 13 | 13.02.2006 17:23 |
| JAvaScript:Interger zu ASCII Zeichen | Xalon | HTML, Usability und Barrierefreiheit | 7 | 30.12.2005 19:33 |
| ASCII - Zeichen im Forum (Dos statt Windows)?! | Brease | Off-Topic Diskussionen | 13 | 26.11.2005 13:46 |
| [Erledigt] Zeichen ersetzen in einem Dokument | PHP Tipps 2007 | 16 | 25.11.2005 14:16 | |
| [Erledigt] Konvertierung OEM ASCII zu Windows ANSI Zeichen | PHP-Fortgeschrittene | 5 | 12.08.2005 12:42 | |
| ASCII - Zeichen in String einbinden | faux | PHP Tipps 2005 | 10 | 28.05.2005 18:29 |
| Datei auslesen bis zu einem bestimmten zeichen. (Shoutbox) | PHP Tipps 2005 | 7 | 01.01.2005 20:41 | |
| [Erledigt] nur x zeichen zeigen | PHP Tipps 2004-2 | 2 | 17.12.2004 15:10 | |
| Die 1. 15 Zeichen anzeigen | imported_Lumio | PHP Tipps 2004 | 2 | 23.08.2004 16:16 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| binärcode tabelle, binärcode liebe, ascii tabelle quadrat, ich liebe dich binärcode, binärcode ich liebe dich, liebe binärcode, binärcode erstellen, ich liebe dich in binärcode, ascii tabelle binärcode, binärcode tabelle buchstaben, binärcode ascii, binärcode quadrat, binärcode für ich liebe dich, ich liebe dich ascii, ascii viereck, liebe in binärcode, ascii tabelle viereck, ascii quadrat, liebe in binärcodes, php binärcode erstellen |