php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.09.2006, 17:43  
Erfahrener Benutzer
 
Registriert seit: 25.01.2004
Beiträge: 239
bicpi
Standard Tipp zur Volltextsuche? InnoDB zu MyISAM?

Hi,
wenn ich mir die Umsetzung einer kleinen Buchdatenbank (der Einfachheit halber mit nur einem Autor pro Buch) so überlege, komme ich in etwa zu folgenden Tabellen:

Code:
CREATE TABLE `autoren` (
  `AutorID` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `AutorName` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`AutorID`)
  INDEX (`AutorName`),
) ENGINE InnoDB DEFAULT CHARSET latin1 COLLATE latin1_german2_ci

CREATE TABLE `buecher` (
  `BuchID` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `AutorID` MEDIUMINT NOT NULL,
  `BuchName` VARCHAR(100) NOT NULL,
  `Beschreibung` TEXT NOT NULL,
  PRIMARY KEY  (`BuchID`),
  INDEX (`AutorID`),
  INDEX (`BuchName`),
  FOREIGN KEY (`AutorID`) REFERENCES `autoren` (`AutorID`) ON DELETE CASCADE
) ENGINE InnoDB DEFAULT CHARSET latin1 COLLATE latin1_german2_ci
Nun schätze ich die Funktionalitäten von InnoDB sehr, also die Fremdschlüsselbeschränkungen und die Möglichkeit von Transaktionen.

Wie kann ich aber jetzt eine Volltextsuche realisieren? Muss ich Abschied von InnoDB nehmen und alles in MyISAM konvertieren. Und selbst wenn, dann ist eine Volltextsuche über zwei Tabellen noch immer ineffizient.

Wie löst ihr so ein Problem?

Bis jetzt kam mir nur der Gedanke, aus dem vorhandenen Tabellensystem per Cron-Job alle sounsoviel Stunden eine einzige MyISAM-Tabelle zu generieren, die dann nur für die Volltextsuche verwendet wird, also so a la

Code:
CREATE TABLE `autoren_buecher` (
  `BuchID` SMALLINT UNSIGNED NOT NULL,
  `AutorName` VARCHAR(50) NOT NULL,
  `BuchName` VARCHAR(100) NOT NULL,
  `Beschreibung` VARCHAR(100) NOT NULL,
  UNIQUE (`BuchID`),
  FULLTEXT (`AutorName`, `BuchName`, `Beschreibung`)
) ENGINE MyISAM DEFAULT CHARSET latin1 COLLATE latin1_german2_ci
Aber ist das Weisheit letzter Schluss?
__________________
Viele Grüße
bicpi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mySQL Engine MyISAM und INNODB Lindwyrm Datenbanken 3 14.04.2007 12:52
Volltextsuche liefert kein Ergebnis xarok PHP Tipps 2007 10 02.01.2007 13:44
MySQL startet nicht mehr: InnoDB Hendrik007 Datenbanken 7 05.07.2006 11:21
Volltextsuche mit InnoDB guenterfrosch Datenbanken 2 04.06.2006 14:41
Datenbanktyp InnoDB und MyISAM mausemy Datenbanken 4 15.02.2006 22:21
phpMyAdmin startet nicht Datenbanken 12 02.02.2006 12:07
Beziehungen mit InnoDB??? T.Peters PHP Tipps 2006 1 25.01.2006 18:29
volltextsuche in der db mit filterung Alpha Centauri PHP-Fortgeschrittene 1 03.07.2005 00:34
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14
[Erledigt] Phrasen - Volltextsuche Datenbanken 0 25.06.2004 11:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql volltextsuche innodb, innodb in myisam umwandeln, myisam volltextsuche, mysql innodb volltextsuche, innodb in myisam konvertieren, innodb zu myisam konvertieren, mysql innodb in myisam umwandeln, volltextsuche innodb, mysql innodb nach myisam, myisam in innodb konvertieren, myisam, innodb nach myisam, volltextsuche mysql innodb, innodb umwandeln, myisam foreign key, myisam innodb konvertieren, fulltext myisam, mysql suche innodb, mysql innodb in myisam wandeln, innodb volltextsuche

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:03 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.