On Wed, Dec 13, 2000 at 12:14:42PM -0500, DÅ wrote:
> I have thoughts about writing about, for example, how searching a
> database will go faster by indexing certain columns in a table.
> And what makes this same procedure slower by indexing wrong, or
> too many. (Correct me if I am wrong).
You're working at the wrong level, perhaps. It depends on what
you want. But the examples you give are common to all database
servers - indexing is important, etc. If you want to describe
data storage and retrieval in general, then those examples might
If you want to compare algorithms used by different database
products, though, you might want to limit yourself to one part of
the code (for example, optimizations of the WHERE clause, which is
still a rather huge bit of code), and ask things like:
- What optimizations are implemented by each database?
- What constraints are there in the implementation on
adding new optimizations (e.g., code structure makes it
easy/difficult, storage format on disk makes certain
optimizations trivial/impossible, etc.)?
- How have the different databases implemented the same
optimizations (which is faster/smaller/cleaner)?
You might instead focus on the storage format, on memory usage
(less of a database-centric issue, though), or any number of
things. But trying to tackle EVERYTHING about database servers
is probably not going to work out.
> I assume that there is a cascade of algorithms inside the code
> of a databasemanager. There is no doubt work for me :)
There's more than enough code to wade through (or drown in).
> Do you have any tips of places where I can gather information?
> Do you recommend a book in this topic?
You might look at some books on Information Retrieval (IR). I
don't have any specific recommendations, but someone else may.
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Tim Smith <tim@stripped>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Development Team
/_/ /_/\_, /___/\___\_\___/ Helsinki, Finland (for a few weeks)