Tabellen Struktur und Index für Ip Tracker

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Bierhasser
Mitglied
Beiträge: 97
Registriert: 24.03.2002 09:13
Wohnort: Schwabenland
Kontaktdaten:

Tabellen Struktur und Index für Ip Tracker

Beitrag von Bierhasser »

Ich arbeite momentan an einem Ip Tracker Mod. Nun stellt sich die Frage welche Index/e sind für die Tabelle sinnvoll?
Momentane Struktur:

Code: Alles auswählen

CREATE TABLE `phpbb3_ip_tracking` (
  `ip_id` bigint(20) unsigned NOT NULL auto_increment,
  `ip_ip` varchar(16) collate utf8_bin NOT NULL,
  `ip_time` int(11) unsigned NOT NULL default '0',
  `ip_location` text collate utf8_bin NOT NULL,
  `ip_referer` text collate utf8_bin NOT NULL,
  `ip_username` varchar(255) collate utf8_bin NOT NULL,
  `ip_user_id` mediumint(8) unsigned NOT NULL default '0',
  `ip_user_type` smallint(2) unsigned NOT NULL default '0',
  `ip_browser` varchar(255) collate utf8_bin NOT NULL,
  PRIMARY KEY  (`ip_id`),
  KEY `ip` (`ip_ip`),
  KEY `username` (`ip_username`),
  KEY `user_type` (`ip_user_type`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin; 
Im Admicp gibt es dann eine Suchmaske um den Ip-Tracker zu durchsuchen. SCREENSHOT
Alle Abfragen enden mit

Code: Alles auswählen

 ORDER BY ip_time ASC/DESC
Meine frage nun, ist es sinnvoll über die ip_time auch noch einen Index zu erstellen? Oder sogar ratsam alle Indexe bis auf PRIMARY zu löschen?

Ich denke für das Suchen im Ip-Tracker ist ein index für jedes Feld ratsam.
Aber wie ist es beim schreiben in die Tabelle wenn einige Tausend Einträge vorhanden sind?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Tabellen Struktur und Index für Ip Tracker

Beitrag von gn#36 »

Ich würde mal sagen das kommt ganz darauf an, wie du auf die Tabelle zugreifen willst. Ein Index ist ja letztlich dazu da, den Zugriff anhand der zum Index gehörigen Felder zu beschleunigen, braucht aber gleichzeitig natürlich Platz. Wenn du z.B. häufig Daten nach IP sortiert abfragst oder spezielle IPs suchst dann solltest du darauf einen Index legen. Wenn du die Daten nicht abfragst brauchst du auch keinen Index :) Ausnahmen wären Primärschlüssel und UNIQUE welche ja auch für Datenkonsistenz sorgen indem ich festlegen kann, anhand welcher Felder ein Eintrag identifiziert werden kann.
Das ist aber meine Meinung, vielleicht gibt's ja noch jemanden der da nicht wie ich nur kurz drüber nachgedacht hat.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Tabellen Struktur und Index für Ip Tracker

Beitrag von Dr.Death »

Hi,

kurze "goldene" Regel:

Indizes sollten dort verwenden wo:
- gesucht (WHERE) und/oder
- sortiert (ORDER BY) und/oder
- gruppiert (GROUP) wird.

Du kannst ja mal ein Select Statement zusammenbasteln und dann im phpmyadmin per vorangestellten " EXPLAIN " aufrufen.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Tabellen Struktur und Index für Ip Tracker

Beitrag von Mahony »

Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Bierhasser
Mitglied
Beiträge: 97
Registriert: 24.03.2002 09:13
Wohnort: Schwabenland
Kontaktdaten:

Re: Tabellen Struktur und Index für Ip Tracker

Beitrag von Bierhasser »

Ich danke Euch für die Meinungen. Dann werde ich doch erstmal mehr Indexe anlegen. Mal sehen wie sich das bei 1Milion Einträge verhält.
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Re: Tabellen Struktur und Index für Ip Tracker

Beitrag von bantu »

Nicht ganz zur Frage, aber trotzdem: phpBB 3.0.x kann prinzipiell auch mit IPv6. Deshalb ist user_ip in phpBB ein VARCHAR(40).
Powered by Coffee
Bierhasser
Mitglied
Beiträge: 97
Registriert: 24.03.2002 09:13
Wohnort: Schwabenland
Kontaktdaten:

Re: Tabellen Struktur und Index für Ip Tracker

Beitrag von Bierhasser »

Danke Bantu das ist mir gar nicht aufgefallen :oops:
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“