Hallo Andreas,
Einen Lösungsansatz frühzeitig auszuschließen, ist meiner Meinung nach eine Hilfestellung ;-) Konzentriere Dich auf Deine anderen Ideen.
Es ist m.E. kein wirklicher Verstoß, weil das Feld in dem jeweiligen Datensatz als _Ganzes_ ausgelesen wird.
Es ist ein Verstoß, weil Du nicht auf das Datum im Feld als _Ganzes_ zugreifst, sondern jede in diesem Feld als Zeichenkette enthaltene Ziffernfolge als ID betrachtest. Somit greifst Du sehr wohl auf jeden Bestandteil des Feldinhalts zu.
Es stellt für die DB keine Mehrzahl an Informationen dar. Eine Ansammlung von IDs wird aus "12; 13; 14..." erst in PHP.
Das ist irrelevant. Du sagst es hier selbst: Du willst auf die IDs als einzelne Werte zugreifen. Dann speichere sie doch, wie Du Dir das selbst bereits zu Anfang überlegt hattest.
Da ist die DB schon längst nicht mehr beteiligt. Ich würde Deinen Einwand gelten lassen, wenn ich sowas konstruiert hätte:
Andreas, hast Du Dir überlegt, welchen Datentyp Deine ID-Spalte erhalten soll, MEDIUMBLOB oder LONGBLOB, siehe http://dev.mysql.com/doc/mysql/en/Storage_requirements.html, alles andere wäre viel zu knapp bemessen. Performanceprobleme handelst Du Dir auch ein, lies mal folgenden Thread
</archiv/2004/7/84465/#m495197>.
Dein Indexer soll doch performant sein, oder?
ID1 | ID2 | ID3 | ID4 | suchwort
12 | 135 | | | Sapperlot
13 | 24 | 32 | 98 | Gewitter
hab ich aber nicht :-)
Nö, das wäre ein anderer Designfehler, der noch viel früher scheitert.
Außerdem hab ich nicht wirklich Lust jetzt über DB-design zu dikutieren. Ich kenne die Einwände und auch die Normalisierungsregeln. Aber es geht mir hier um etwas ganz anderes. Um die Logik, die hinter einem Index steht.
Aber selbstverständlich musst Du Dir Dein DB-Design genau überlegen. Und Du bestehst derzeit völlig überflüssigerweise auf einem Modell, das fehlerhaft ist, das sehr schnell an seine Grenzen stösst. Warum? Du hast doch auch andere, bessere Ideen.
Es ist ganz bestimmt ein Fehler, eine Folge ganzer Zahlen als ellenlange Zeichenfolge zu speichern. Kannst Du Dir z.B. vorstellen, in wieviel Beiträgen z.B. die Zeichenfolge "un" vorkommen kann. Du willst ja alle Vorkommen speichern. Jedes Vorkommen bedeutet eine weitere Zeichenkette anzuhängen. Fällt Dir nicht auf, dass diese Lösung nicht skaliert?
Bitte stecke mehr Energie in Deine besseren Ideen, statt sie an einer untauglichen Idee zu verschwenden, nur weil ich diese Idee von vornherein als untauglich abgetan habe. Ich habe doch einfach ein Sackgassenschild an eine der Verzweigungen gestellt. Lauf doch nicht rein ;-) Du hast vielversprechendere Wege selbst aufgezeigt. Geh' dort entlang!
Freundliche Grüsse,
Vinzenz