Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!mordor!sri-spam!wohler From: wohler@sri-spam.istc.sri.com (Bill Wohler) Newsgroups: comp.databases Subject: Re: Optimization algorithms Message-ID: <9768@sri-spam.istc.sri.com> Date: Sun, 7-Dec-86 17:26:20 EST Article-I.D.: sri-spam.9768 Posted: Sun Dec 7 17:26:20 1986 Date-Received: Sun, 7-Dec-86 21:34:09 EST References: <8612010047.AA14252@BORAX.LCS.MIT.EDU> Reply-To: wohler@sri-spam.UUCP (Bill Wohler) Distribution: world Organization: SRI International, Menlo Park Lines: 39 Greg Brandon writes: >Is there a forum specifically for the discussion of relational database >access optimization algorithms, or is this the place for that kind of >discussion? i was expecting to find more of a technical discussion when i began reading this column, but have not yet seen much. so hopefully to begin a more fruitful dialogue, i pose the following. i used to use "grep -i phonebook" to retreive records from my personal online phone directory, but now that the file has begun to get quite large (> 200 records and counting), i have been tossing around ideas for implementing a more efficient and flexible method of retreival. however, the requirements are a little different from normal databases. i'd like the generality of grep in my searches, that is, to be able to search for a record with only fragments of a key. for example, "dan" would match the first names "Dan" and "Daniel", the last name "Danielson", and the company called "Danskin". i currently key on first and last names, business name, and (at least now) month of birthday to get a quick printout of people who have birthdays this month. dbm(3) loses since it needs fully qualified keys, and only allows one entry per key. note that a name may occur more than once. i'm thinking of creating a multi-ring stucture, but can't figure out how to create an efficient way of finding an index from a partial key short of using a linear search. perhaps there might be a way in a relational type database. a hash function for this would make a nice thesis (and a quick program). well, food for thought... --bw