Performans için soruyorsun sanırım. inner join kullanırken on ile bağlıyacağın alanlara index atmışsan ve bu alanların tiplerini minimum düzeyde tutmuşsan, geriye test ederek sonuca göre hareket etmen kalıyor.Sunucunun durumu önem kazanıyor bu durumda.
Özellikle bu kısımda try catch kullanki programın çakılmasın.

Webte 3'tabloyu birbirine bağlamaktan fazlasını denemedim ama masaüstü belediye otomasyon yazılımımızda kullandım .8 tabloyu bağlamıştım şuan belediyelerde kullanılıyor ve sorun yaşayan olmadı bu kısımla alakalı.Gerçi masaüstü c#.