LIKE sucht innerhalb eines Feld nach dem Suchbegriff, wobei die
Stelle, an der der Begriff vorkommen muss, mit Wildcards bestimmt wird.Jupp, soweit ist mir das bekannt. Ich programmiere zwar beruflich nicht mit SQL, jedoch auch mit diversen anderen Datenbanksystemen.
»»
Eine Volltextsuche ist anders aufgebaut. Hierbei erstellt das DBMS
eigene Tabellen mit den Begriffen und referenziert dort auf den
eigentlichen Datensatz.Achso. Stimmt eigentlich. Hmm, das müßte IMHO recht einfach zu erledigen sein. Hmm, schwierig wird es nur, wenn mehrere Schlüsselworte reinkommen, aber nicht unmöglich.
Naja, die Datenmenge wird zu Anfang nicht sooo groß sein, da wird like reichen. Wenn es dann dem Kunden zu langsam wird, kann ich mir immer noch diese Schlüsselwortsuche durch den Kopf gehen lassen.
Mache ich das jetzt schon rein, wird ihm das evtl. zu teuer. Es wäre allerdings nur fair, wenn ich ihn auf diese Gefahr hinweise, denke ich.
Danke!
Michael
Hallo Michael,
für Dich als Programmierer ändert sich eigentlich nicht viel, da daß DBMS
die benötigten Tabellen selbst pflegt. Der einzigste Unterschied ist
der, daß Du einen Datenbankserver benötigst.
Ein Oracle RDBMS wird wohl nict in euerm Budget drin sein, aber im SBS
4.5 ist ein MS SQLServer 7.0 enthalten (max. 50 DB's á 10 GB). Ist nicht
mal so teuer.
Im SQL Server ändert sich die Syntax der Abfrage dann in etwa so:
<%
' -- SQL Statement bisher
'SQL = "SELECT * FROM <tablename> WHERE <fieldname> LIKE '%" & var & "%'"
' --- SQL Statement neu
SQL = "SELECT * FROM <tablename> WHERE CONTAINS(<fieldname>,'" & Var & "')"
%>
Da ich denke, daß wir jetzt weit genug vom eigentlichen Thema weg sind
(MySQL und jetzt bei SQL Server), würde ich sagen, beenden wir diesen
Teil.
Tschau, Stefan