Skip to main content
1 of 2
Warren Young
  • 5.3k
  • 1
  • 25
  • 35

Lightroom uses a SQLite database to hold its keyword information. SQLite does have size limits, but they are so high that it simply isn't worth worrying about them. You can have zillions of keywords in your catalog.

HOWEVER. It is not only possible to make Lightroom slow to a crawl, I can do it at will. Heavy keyword use is one of the easiest and most reliable ways to do it.

Here is a catalog of Lightroom keyword failure modes and myths, all culled from my long experience with Lightroom, going back to the pre-1.0 beta days:

  • The more keywords you add, the slower Lightroom will get.

I don't mean lots of keywords on a single photo here. I mean that if you take a pile of photos without any keywords on them and add one or two keywords to each, Lightroom will be noticeably slower after one or two hundred keyword additions. If you restart Lightroom, performance returns.

  • If you continue pushing Lightroom this way, you can get it to the point where it takes many seconds to apply a keyword.

I've seen Lightroom sit there, nearly unresponsive, for a minute or two while it churns through its backlog of work.

The computer is not the problem. I've seen this on several different computers, both Windows and Mac, which ranged from reasonably fast to positively high-end. In fact, if you go open up another program, leaving Lightroom churning away in the background, your new foreground program will be fairly responsive, since Lightroom doesn't use 100% of the computer's resources while it is in such a state. I've spent a fair bit of time playing Borderlands 2 while Lr grinds away in the background. There's a bit of a hit to the frame rate, but it's still playable.

If you want to see this for yourself, here's a sure-fire Lightroom tar baby recipe:

- Start with a catalog of many thousand photos, with lots (10+) of keywords on each, selected from a nice deep hierarchy of keywords. Don't bother if you're still using a small, flat keyword list.

- Now take one of the most popular photos in your keyword set, and move it somewhere else in the hierarchy. Lightroom will re-keyword every affected photo.

- Once that completes, add another keyword to any photo in your library. It doesn't have to be one of those you just touched. See the difference?

  Relaunch Lightroom. Performance is back to where it was before you started, isn't it?

  Interesting, no?

When you get Lightroom into this state, if you launch Activity Monitor on OS X, you should see that it pegs one CPU core, leaving the others idle. This tells me that keywording is essentially a single-threaded activity. You will also see that disk I/O is fairly low, meaning it isn't being I/O bound. It just isn't using your CPU's full horsepower to rearrange its keyword database.

I assume the same thing happens on Windows, but I haven't tested that.

  • Reducing the size of your catalog helps, but not all that much.

Whenever I have a big session of heavy keywording to do, I slice the set of photos I want to work on out into a separate temporary catalog. Here's the workflow:

1. Select all the photos you want to work on

2. Say File → Export as Catalog...

    I recommend that you put it on your Desktop and call it something that clearly marks it as a temporary catalog: `temp`, `foo`, `x`, etc. You want easy access to it, and you don't want to leave it cluttering your disk once you're through with it.

3. Press <kbd>Ctrl/Cmd-S</kbd> to make sure all metadata is saved to disk for those photos. 

   Do this even if you have "Automatically write changes into XMP" enabled in your Catalog Settings. For reasons that should be increasingly clear to you, dear reader, Lightroom can get badly backlogged. When you quit Lightroom with pending unsaved metadata, it will save only the minimum information it needs to be able to start back up and continue work. You must force it to finish all pending work before you continue, else you risk a mismatch between the information in the catalog and the information stored in the photo via EXIF, IPTC, XMP, etc.

4. Say Metadata &rarr; Export Keywords... You will see why in just a bit.

5. Exit Lightroom, then double-click the new catalog you just created to open it instead of your default. Alternatively, launch Lightroom with <kbd>Option/Alt</kbd> held, so that it prompts you for the catalog to open.

6. Say Metadata &rarr; Import Keywords... and point it at the file you just created above.

   If you don't do this, your new catalog will only contain those keywords present in the photos you exported. You presumably want all of your keywords available in the new catalog.

7. Do your keywording.

8. Select all the photos, then say <kbd>Cmd/Ctrl-S</kbd> to save the changes to disk. You must do this even if you have the "Automatically write changes into XMP" setting enabled in your main catalog. It's a per-catalog setting, and it defaults to "off" for new catalogs.

  (See next major point for more on this.)

9. Relaunch Lightroom again, opening the main catalog this time.

10. Say Metadata &rarr; Read Metadata From File to load your changes back into the main catalog.

11. Once you're satisfied that the changes have all made it back into the main catalog, quit Lightroom and delete the temporary catalog. We don't need it any more.

Having jumped through all those hoops, you should notice that Lightroom is a bit faster when running with the much smaller catalog. I find it to be barely enough of an advantage to bother doing it.

This should convince you that the overall size of the catalog is not the main thing affecting the speed of Lightroom. The keyword set size and the number of keywords per photo have a disproportionate effect on the speed of Lightroom.

  • Disabling the "Automatically write changes into XMP" setting in your Catalog Settings helps, but not all that much if you have a fast disk.

Tip: Have a fast disk. :)

Ideally, put the catalog file on a fast SSD, and the catalog off on a separate fast RAID. (Or if you're really well-heeled, put the catalog on a RAID of SSDs!)

  • Smart Collections are a speed hit, particularly if they have keyword-based rules.

The good news is that there's an escape hatch: Smart Collections only hurt performance once they've been opened within a given Lightroom session. If you fold up all your Collection Sets and twist the Collections panel's disclosure triange closed, then re-launch Lightroom, none of your Smart Collections will impact Lightroom's speed.

But beware! If you twist open some of those disclosure triangles and then immediately twist them closed again, the damage is done. The speed hit will continue to affect Lightroom until you re-launch it.

  • The most reliable way to speed Lightroom up again is to re-launch it.

I spend a lot of time re-launching Lightroom. Sigh.

Warren Young
  • 5.3k
  • 1
  • 25
  • 35