I shoot a lot of indoor onstage ballet performances of my kids, and I am having excellent results with a Sigma 50-150mm f/2.8. Why?
1. Geometry. I have found that, shooting from the back of an auditorium, which is about row Z (i.e. 26 rows back, + space in front of 1st row, + unused stage bow, + stage depth itself), I can get a full-width stage shot at 50mm and a very reasonable close-up of an individual dancer or dancer pair at 150mm. If I am closer, the zoom (vs prime) gives me the ability to adjust without cutting off feet or hands (which is the kiss-of-death for any picture of a ballet dancer!). Primes are really bad, because often I am not allowed to pick my shooting position, and am not allowed to move around during the performance. I haven't encountered bigger auditoriums yet, so the 150mm telephoto setting has worked well for me (1.6X lens factor).
2. Exposure. You've GOT to have the f/2.8 constant aperture. I normally shoot at ISO 1600, auto white balance, shutter priority set to x, burst mode, and ON A TRIPOD. So what's "x"? For recitals and formal ballet pieces where the stage is lit up well and lighting does not chage, x is 1/320 or (if lucky) 1/400 sec, which drives the f/stop to vary between 3.5 and 2.8. If I am shooting a play (i.e. the seasonal Nutcracker) or any other performance with varied lighting and lighting engineers given to polychromatic fits, I take what I can get and post-process. That's usually 1/160 sec or maybe 1/200 sec, driving the f/stop again to 3.5 to 2.8. If the picture is sometimes murky, so be it. What can you do when the bright lights are turned off and a red spot light is mixed with a green one!
Caveat: That's stage performance shooting. If you also have to take back-stage shots, staged or natural, or post-performance parties in-theatre, use an 18-50mm f/2.8 in Program mode and learn all about fill flash. Why not a prime here? Because nobody will hold still for you or stand where you tell them to stand so you can make the field of view on your prime work. Too much space and people will step right in front of you. Better to use a variable zoom and the fill flash function.