In this particular scenario, a knife was the best choice.
The guy knew the place, had the time to get in, stab everyone and leave, then turn himself him, lol.
Try to shoot 100 different people in a 5000m² complex without people noticing something is amiss.
There is always cases where a non-gun can kill a similar number of people or even more.