Hi Anders,
and thanks for your post.
Code optimization and performance are my obsessions, and both Tag Meta and ReDJ plugins are written with these requirements in mind.
For this reason, any suggestion about this are welcome!!!
About your question:
What is your experience with performance impact of doing this?
Do you have any advice on updating indexes etc. on the database?
No significant degradation in performances occurred during my tests. Take a look at plugin code, there's just one select on one table for each call. Unfortunately table indexes are not possible using regular expressions, but the redirection table as you say has a small number of rows.
Do you have any plans on perhaps implementing some caching function?
It would be great, but I really can't figure out how to implement it. Even for exact URL (dropping support for regular expressions), you need to save somewere a correspondence between origin and destination URL (like I do with a table). If you have some suggestion on this, you are welcome.
A suggestion might be an option to disable the hit counter too...
Also this is not necessary, because the update query is executed only for a matching url, when redirect must occur. Other statistical informations, instead, can be disabled by configuration (e.g. you can disable referral tracking to increase performance).
Let me known what you think,
Luigi