Hi
I don't use iPhoto much, but everyone else in the family does so I am familiar with fixes.
As Pete has said, removing duplicates is a good start. There are a number of programs for doing this, like the one he mentions.
If you quit iPhoto, then restart holding down the Option and Command keys, a dialogue with some fixes will appear. Run through these. Be patient as it will take some time.
If the iPhoto library is large and the Mac is a couple of years old, it can be worth having a new iPhoto library. You don't lose the old one. Just quit iPhoto, and restart holding down Option. You can then create a new Library. Just call it iPhoto Library 2. This will give faster overall operation.
To return to the original library at any time, just restart iPhoto with Option held down, and select the original Library.