C++でポリモーフィズムを使用する際、基底クラスのデストラクタをvirtualにする必要があるということはよく言われることですが、派生クラスのデストラクタもvirtualとして宣言しておくべきかどうか悩んでいます。

派生クラスのデストラクタも仮想関数でなければならない時というのはどういう時でしょうか。逆に仮想関数じゃなくても良い(vtableへのコストからしないほうがよい場合)時というのはどういう時か、という事も併記して頂けるととても助かります。