The fastest approach to saving space needs to be done "on the
server". There are some tricky factors involved in preserving tags...I
don't know enough about the back end of the database to know what is
entailed, but the following may be a step in the right direction.
First, back everything up in case this screws things up.
Second, decide maximum file size permissable.
Third,
search for all photos larger than that maximum size. For archival
purposes, copy them out to a different hard disk, but not to make them
publicly available.
Fourth, set up an action in Photoshop, using the "Record new
action" thing, by which you "record" everything you do to one photo.
What you would do is:
1. Resize the image, preserving aspect
ratio, to a maximum width or height. I would pick a standard maximum
width or height and not worry about wide/tall photos... make it largish
and it really won't matter that much.
2. Save over the existing jpg file (same filename) but to a standard medium or low-end-of-high quality compression.
3. Close the file.
Now...
open as many of the searched photos as you can without crashing the
computer. A really hot system will manage to open between 50-80 large
photos, max, probably less if they're as big as all that.
Go to "batch process" and select the action you just made and select "opened files" and put "destination folder" as none.
Then, make it so.
It will automatically resize all the opened photos.
Re-search.
Pick another batch.
Do it again.
There
are other ways of doing this, but I suspect that this will keep the
photos where they are supposed to be. It's a starting point.