JVOpen で準備した JV-Data を読み込み中に不要なレコード種別を読み飛ばすために使用します。
JVSkip メソッドを呼び出すと現在読み込み中のファイルにレコードが残っていても次のファイルの先頭までファイルポインタを進めます。
JVRead/JVGets メソッドは物理的には複数のファイルであっても1つのファイルであるかのように連続してデータを読み出します。
蓄積系データは1つのファイルにレコード種別は1種類しか収容されていません。
したがって JVRead/JVGets メソッドで読み出されたレコードが処理不要のレコード種別であった場合に JVSkip メソッドを呼び出し、そのファイルに収容されている残りの処理不要レコードを読み飛ばし処理時間を短縮することができます。
速報系データは1回の JVRTOpen に対して1ファイルしか返されないので JVSkip には意味がありません。
例えばデータ種別”DIFF”を dataspec に指定して JVRead/JVGets を行なうと
・レース詳細(“RA”) ・馬毎レース情報(“SE”)
・競走馬(“UM”) ・騎手(“KS”)
・調教師(“CH”) ・生産者(“BR”)
・馬主(“BN”) ・レコード(“RC”)
の8種類のデータを読み出す可能性がありますが、このうち”BR”と”BN”が不要なデータである場合には次のロジックにより処理時間が短縮されます。
JVSkip メソッドを呼び出すと現在読み込み中のファイルにレコードが残っていても次のファイルの先頭までファイルポインタを進めます。
JVRead/JVGets メソッドは物理的には複数のファイルであっても1つのファイルであるかのように連続してデータを読み出します。
蓄積系データは1つのファイルにレコード種別は1種類しか収容されていません。
したがって JVRead/JVGets メソッドで読み出されたレコードが処理不要のレコード種別であった場合に JVSkip メソッドを呼び出し、そのファイルに収容されている残りの処理不要レコードを読み飛ばし処理時間を短縮することができます。
速報系データは1回の JVRTOpen に対して1ファイルしか返されないので JVSkip には意味がありません。
例えばデータ種別”DIFF”を dataspec に指定して JVRead/JVGets を行なうと
・レース詳細(“RA”) ・馬毎レース情報(“SE”)
・競走馬(“UM”) ・騎手(“KS”)
・調教師(“CH”) ・生産者(“BR”)
・馬主(“BN”) ・レコード(“RC”)
の8種類のデータを読み出す可能性がありますが、このうち”BR”と”BN”が不要なデータである場合には次のロジックにより処理時間が短縮されます。
コメントをかく