In essence, RDBMS are highly optimised for the sort of things people do with databases, but you need to know what you're doing with them.
In essence, RDBMS are highly optimised for the sort of things people do with databases, but you need to know what you're doing with them.
An anecdote on bad linear search: in the 90s I worked on a system in C++ that made heavy use of inheritance and other C-plus-plus-ery. There was a bunch of file opener classes each that found files in a different way (regexp, straight path, glob). They differed only in a method named match. The base class called match on every file name in the directory until it returned true. That was fine for regexps but even if you opened a file _by name_ it took N/2 syscalls to readdir to find it! This worked OK until someone created a directory with 10k entries on a production box. Ouch.