Q. PervasiveからOracleに変更すると速くなりますか?

Pervasiveから、OracleまたはMS_SQL_ServerへDBMSを変更しようと考えています。
単純に移行しただけでも処理速度は高速になるのでしょうか?
それとも、プログラムを変更しないと処理速度は変わらないのでしょうか?

A. 単純移行しただけでは、速くなりません。

Pervasiveは、インデックスでの検索や1レコードずつの書込み処理であれば、「高速である」と言えます。
多くの場合、これらの処理(主にオンラインタスク)でPervasiveから他のDBMSに変更しても高速化は期待できません。
むしろ、同じハードウェア構成では処理速度が劣化する危険性もあります。
(Pervasiveは軽い、というメリットがあります。)
また、インデックスも要注意です。従来通りの効果が出ないこともあります。
プログラム変更前に、インデックスを中心としたテーブル構造の見直しも必須だと考えた方が良いでしょう(ノンユニークインデックスやセグメント数の多いもの等)。
あとは、ラインモードでの降順アクセス(位置付け後、上矢印キーでデータを遡る操作)もデータ量によっては遅くなってしまう可能性があります。

しかし、あいまい検索や大量のバッチ処理では、他のDBMSへの移行で高速化が期待できます。
但し、それでもプログラム変更は必要となります。
稀に、インデックスが機能していない検索(範囲指定)で、何もしなくても速くなることもありますが、それは今までのプログラムに問題があると考えられます。

高速化のためのプログラム変更とは、SQL Where句を使ったり、直接SQLコマンドを記述することです。
ただ、直接SQLを書き込む方法は、やり過ぎるとプログラムのメンテナンス性を落としてしまい、Magicの良さが失われてしまいます。
「パッと見て」何がしたいのか想像できるくらいの短さで、いかにも効果が出そうなときに使うようにしましょう。
代表的なのは、バッチでの大量レコード削除、等です。

それから、Pervasiveから他のDBMSへ移行した場合、プログラム変更無しでは、「速くなる/ならない」の議論の前に、まともに動作しないかもしれません。
Pervasiveでトランザクションを使っていなかったとすると(デフォルトでの使用)、スタンドアロンで実行させる単純なプログラムなら問題ない場合もありますが、複数ユーザで使うプログラムではトランザクションとロックの設定を見直す必要性があります。