![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #21 |
| Neuer Benutzer Registriert seit: 19.06.2006
Beiträge: 14
|
Und im PHP-Code wo sich also die Abfrage dann befindet muss nichts geändert werden? EDIT: Das Feld in dem die Namen stehen an wen der Eintrag gerichtet ist hat jetzt einen Index. Typ: INDEX... Außerdem hat das Feld ID noch einen Index... Typ: PRIMARY... Bringt jedoch immernoch nichts... Es lädt genauso langsam wie auch zuvor.. Geändert von *the_rob* (20.06.2006 um 03:05 Uhr) |
| | |
| | Nach oben #22 | |
| Erfahrener Benutzer Registriert seit: 18.08.2005
Beiträge: 108
| Zitat:
LIKE 'suchwort%' ginge, aber für Volltextsuchen braucht man nen Volltext-Index. PS: Fürs Gästebuch sehe ich spontan Bedarf für einen Multi-Column-Index auf `an` und `id`. Einzelne Indizes bringen bei MySQL hier nichts. Dann macht man mal ein EXPLAIN auf die SQL-Queries des Gästebuches, und wenn brav überall der Index verwendet wird und nirgendwo "ALL" steht ist das meiste gut. | |
| | |
| | Nach oben #23 |
| Neuer Benutzer Registriert seit: 19.06.2006
Beiträge: 14
|
Wie erstelle ich einen Multi-Column-Index? Ich kann in meinem MySQLAdmin folgende Typen auswählen: INDEX UNIQUE FULLTEXT Bin ich hier auf dem falschen Weg? Sorry aber wie gesagt habe ich einfach keine Ahnung denn ich habe mit Indizes noch nicht gearbeitet... |
| | |
| | Nach oben #25 |
| Gast
Beiträge: n/a
|
Du hast 7 Bedingunge in diesem kleinen Codeabschnitt. Bedingungen brauchen sehr sehr lange, deshalb solltest du dir evtl deinen Quellcode überdenken. Außerdem kann ein Cache Wunder bewirken. Es reicht ein simpler in PHP geschriebener Filecache, allerdings wäre natürlich der APC Cache perfekt. Damit kannst du nämlich zB auch Konfigurationsvariablen cachen. Falls du CAPTCHAS generierst, solltest du vielleich ein paar tausend erstellen und nach Zufall ausgeben anstatt jedes mal ein neues Image zu generieren. ... Poste mal einen Link oder erzähl mal was so alles auf der Seite ist. MfG Jay |
|
| | Nach oben #26 | |
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
| Zitat:
__________________ Gedanken aus Draht stricken einen Zaun. | |
| | |
| | Nach oben #27 | |
| Neuer Benutzer Registriert seit: 19.06.2006
Beiträge: 14
| Zitat:
Das was du sagst hört sich sehr gut an... Allerdings hab ich keine Ahnung das umzusetzen... Wärst du so freundlich und könntest mit mir vielleicher per ICQ kontakt aufnehmen? Ich bin echt am verzweifeln... | |
| | |
| | Nach oben #28 |
| Gast
Beiträge: n/a
|
führ doch mal bitte Code: SHOW CREATE TABLE gbeintraege; selbst bei hundert millionen einträgen und hunderten von gleichzeitigen verbindungen kommt mysql normalerweise nicht mal ins schwitzen. es sind die besch*ssen gesetzten indexe und der stümperhafte code eindeutig schuld. grüße axo |
|
| | Nach oben #29 | |
| Gast
Beiträge: n/a
| Zitat:
PHP-Code: SELECT COUNT (*) ... wäre wesentlich schneller. Ich meine du selektierst alle und lässt sie dann zählen. Es ist wesentlich schneller alle zu zählen und die Daten in der DB zu lasssen. Wenn du die Einträge im GB nie löscht könntest du auch MAX (primaryKeyId) verwenden. Somit bekommst du auch die Anzahl. Das ist schneller als COUNT funktioniert aber nur wenn keine Einträge gelöscht werden. | |
|
| | Nach oben #30 | |
| Neuer Benutzer Registriert seit: 19.06.2006
Beiträge: 14
| Zitat:
CREATE TABLE `gbeintraege` (\n `ID` int(11) NOT NULL auto_increment,\n `an` varchar(100) NOT NULL default '',\n `name` varchar(100) NOT NULL,\n `eintrag` text NOT NULL,\n `date` varchar(50) NOT NULL,\n `fontcolor` varchar(7) NOT NULL,\n PRIMARY KEY (`ID`),\n KEY `an` (`an`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1 | |
| | |
| | Nach oben #32 | |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 540
| Zitat:
aber selbst bei den 1000 beiträgen die manche leute drinne haben, würde ich mir doch mal überlegen, ob die nicht irgendwann ma gelöscht werden. die braucht vermutlich doch eh keiner mehr. als optimierung der db könntest du die tabelle auch von namen-bezeichner auf ids (foreign key) umstellen, so dass du eine extra tabelle mit allen benutzern hast (die ja vermutlich eh schon existiert) und die db tabelle enthält dann nur noch eine eintrag-id, eine sender-id und eine empfänger-id sowie den inhalt. dadurch wird die tabelle kleiner, schneller zu durchsuchen und unnötige redundanz wird vermieden. btw: hab mir grad mal deine page angeguckt und im öffentlichen guestbook crahst das design bei einem eintrag von heute, 15:45 weil da jemand nur punkte aneinandergereiht hat.
__________________ Weißt Bescheid - Scheiß wie weit | |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Entwurfsproblem: Aus Widgets in Datenbank schreiben? | Basti | PHP-Programmierung | 3 | 29.03.2007 13:13 |
| Problem bei Verarbeitung von Templates (Eigene Klassen) | dago | PHP-Programmierung | 21 | 31.08.2006 16:02 |
| welche Datenbank - Datentyp für Dateien | risa | Datenbanken | 5 | 01.12.2005 15:17 |
| Datenbank und Sicherheit | sparrow | Datenbanken | 23 | 05.11.2005 17:45 |
| Datenbank Verwaltung | taskin73 | Datenbanken | 7 | 30.07.2005 17:07 |