I did some fairly stupid things with views in mysql when I set up this site, and every so often enough people use that code at once that even though it's a fairly compact database, their searches were bringing the database server to its knees, and I would get an email from Dreamhost customer support saying they'd turned off one of the views and if I can't figure out a way to make it more efficient, I should be paying them more money for a dedicated database server.
The last time they did this was while I was trying to finish up all the other things that needed to happen by Christmas, so I just modified the book page so that it reported gracefully that listing the pieces in the book was temporarily disabled, instead of giving a scary mysql error because customer support had disabled the view.
I'm sure I don't need a dedicated server for my hundreds of pieces by dozens of composers in dozens of books, so I spent some time this morning writing the search for pieces in a given book from scratch and checking its efficiency as I joined each table to the search.
I can report success, and you can now go to a book page and see all the pieces in that book. I also made a minor upgrade, so for the books where the database includes the order of the pieces in the book, you can see them in the order they are in the facsimile.