One embodiment of the present invention provides a system that facilitates
performing an efficient wildcard search on a field within a relational
database table. The system operates by receiving a query with a search
string that includes a wildcard and a sub-string. In order to process this
query, the system identifies rows in a table in which a target column
contains a string that matches search string. This is accomplished by
looking up rows in the table that match the search string by looking up
the sub-string in a sub-string index for the target column, wherein this
sub-string index allows a given string in the target column to be rapidly
identified based upon a sub-string of the given string. Next, the system
accesses the matching rows in order to process the query. In one
embodiment of the present invention, the wildcard is a leading wildcard
that precedes the sub-string. In a variation on this embodiment, the
search string additionally includes a trailing wildcard that follows the
sub-string.
Één belichaming van de onderhavige uitvinding verstrekt een systeem dat het uitvoeren van een efficiënt vervangingsonderzoek op een gebied binnen een relationele gegevensbestandlijst vergemakkelijkt. Het systeem werkt door een vraag met een onderzoekskoord te ontvangen dat een vervanging en een sub-koord omvat. Om deze vraag te verwerken, identificeert het systeem rijen in een lijst waarin een doelkolom een koord bevat dat onderzoekskoord aanpast. Dit wordt verwezenlijkt door op rijen in de lijst te kijken die het onderzoekskoord door omhoog het sub-koord in een sub-koordindex voor de doelkolom te kijken aanpassen, waarin deze sub-koordindex een bepaald koord in de doelkolom om snel toelaat worden geïdentificeerd gebaseerd op een sub-koord van het bepaalde koord. Daarna, heeft toegang het systeem tot de passende rijen om de vraag te verwerken. In één belichaming van de onderhavige uitvinding, is de vervanging een belangrijke vervanging die het sub-koord voorafgaat. In een variatie op deze belichaming, omvat het onderzoekskoord bovendien een slepende vervanging die het sub-koord volgt.