The only problem with the locate package (of which updatedb is a part) is the updatedb process itself. It thrashes the disk and uses a lot of CPU. It's set up by default to run four times a day, at noon, midnight, six in the morning and six in the evening. Sometimes these times are convenient and sometimes they're not. If I'm using my computer at all during these times, it's easy to notice when the process starts and I can't stand it.
I finally wrote a reasonably-simple script called killupdate, which I run with sudo. And here it is (the PIDS line is shown on two rows; remove the line break and insert a space instead):
#!/bin/sh
PIDS=`ps ax | grep 'updatedb\|find' | grep -v grep | sort | awk
'{print $1}' | perl -ne 'chomp;print "$_ "'`
if [ "$PIDS" ]
then kill $PIDS
fi
Probably not the best code in the world. Actually it's definitely not ... too many processes piped together. Yes, it's a shell script that calls perl -- I do that way too often, but it's so useful and I'm more familiar with perl ... but some programs make more sense as shell scripts, so I end up using shell and perl together like this a lot... sue me :)
Also notice that we're grepping the process list for all processes named "updatedb" or "find." This is potentially dangerous, especially on a multiuser system, because this could kill other people's find processes. I'm the only user on my machine, so this isn't an issue for me. I'm only sharing this code as-is because I find it useful.
Of course, if you're always at your computer when updatedb wants to run, it's best to let it run from time to time so your database is current. But I figure mine runs at least once every 24 hours, and that's enough for me. But the four-times-per-day default setup is also good, because I never know what time I'm going to be using the computer.
Better code is encouraged. Please post it in your comments.
[robg adds: The only part of this hint I'm unsure of is the four times a day updating of the database. On my machine, the "weekly" task runs updatedb on Saturdays at 4:30am. In looking at the current database (ls -al /var/db/loc*), it was last updated at 4:37am on Saturday the 20th. I've been on my machine since 4:00am today, and there was no 6:00am update ... anyone have any thoughts on the disparity?]

