2

テキスト エディタで行末の \0 を物理的に削除する以外に?

4

1 に答える 1

3

これは、Informix SQL の背後にあるデータ サーバーに依存します。

データ サーバーが SE (標準エンジン) であり、風が吹いている場合 (特に、削除された行に以前に割り当てられたスペースがまだ他の目的で再利用されていない場合)、.datファイルを変更できます。 「デッド行」マーカー ( '\0'C) を「ライブ行」マーカー ( '\n'C) に変更します。bcheck次に、またはsecheck(Informix SE のバージョンによって異なります) を使用して、テーブルのインデックスをチェックする必要があります。これは、C-ISAM データ ファイルに関する内部の知識に依存しています。

データ サーバーが IDS (Informix Dynamic Server、最近では Informix とも呼ばれる) である場合、答えは実質的に「いいえ」です。確かに、「スペースを再利用しない」という警告が適用されます。ただし、C-ISAM (SE) のような単純な行の終わりマーカーはなく、削除されたデータが格納された場所を正確に見つける簡単な方法はなく、行が複数のページに分割されるという問題があります。行サイズが十分に大きい (4 KiB より大きい、ほとんどのシステムでは 2 KiB より大きい) などです。実質的に、答えはノーです。

于 2012-04-20T09:56:41.310 に答える