PI DataLink にてタグ検索をする際、フィルター条件として「Is good」が選択できます。

同じようにPI OLEDB でのタグ検索で「Is good」を条件として使用したいのですが、
[pipoint]..[pipoint]テーブル 及び [pipoint]..[pipoint2]テーブルに該当しそうなフィールドがありません。
色々と動かしてみて、[piarchive]..[pisnapshot]テーブルのstatus列を使えば「Is good」の判断が出来そうだと思ったのですが、status列に入っている値が「Is good」に該当するのかどうかの判断方法がわかりません。
考えられる判断方法として下記3通りがありますが、どの方法を使うべきでしょうか?
または他の方法があるのでしょうか?
1. status = 0
→ status が0のみを Is good と判断して良いのでしょうか?
後述する [pids]..[SYSTEM]テーブルを確認すると、0以外の値でも「Good」がありますが、
その値は is good では無いのでしょうか?
SELECT pp.tag, ps.status
FROM [pipoint]..[pipoint] pp
INNER JOIN [piarchive]..[pisnapshot] ps ON ps.tag = pp.tag
WHERE
ps.status = 0
2. [pids]..[SYSTEM]テーブルのname='Good'
SELECT pp.tag, ps.status, sy.name
FROM [pipoint]..[pipoint] pp
INNER JOIN [piarchive]..[pisnapshot] ps ON ps.tag = pp.tag
INNER JOIN [pids]..[SYSTEM] sy ON sy.code = ps.status
WHERE
sy.name = 'Good'
3. DIGSTRING(status) = 'Good'
→ WHERE句の左辺に関数を使うのは遅くならないでしょうか?
(全レコードに対して関数を適用するような動きをしてしまわないでしょうか?)
SELECT pp.tag, ps.status, DIGSTRING(ps.status)
FROM [pipoint]..[pipoint] pp
INNER JOIN [piarchive]..[pisnapshot] ps ON ps.tag = pp.tag
WHERE
DIGSTRING(ps.status) = 'Good'