See the issue with this becomes two-fold. The redirects for speed need to be in the htaccess file, up until a point. Say you have 100 redirects, htaccess is where they need to be, this will bypass the application totally and will be redirected on the server level, keeping things fast. But you hit a point, lets say 10k redirects, at that point they need to be in the database. Because loading the htaccess file is going to be time consuming and since it is really based off regex searches it will take even longer.
For the best speed, everything needs to be in the httpd.conf (if you are using apache) but we cannot write to that location. This is something I have done quite a bit of testing on in the past couple of years and there really is not a one size fit all solution.