請注意,yaz_range 的行為可能與您想像的不同。例如,它不會根據您提供的 "start" 和 "number" 參數傳回結果集。
引用此討論串
http://lists.indexdata.dk/pipermail/yazlist/2006-November/001752.html
"一般來說,您給 yaz_record() 的記錄偏移量是結果集中的偏移量,而不是 yaz_range() 識別的任何子集中的偏移量。這至關重要:yaz_range() 函式嚴格來說是為了幫助您編寫更優化的客戶端程式碼;您不需要呼叫它。
換句話說,如果您想顯示集合中記錄編號 10 到 20 的記錄,您應該從 10 到 20 迴圈,並為每個記錄呼叫 yaz_record()。底層程式碼將根據需要按需檢索記錄。
然而,如果您在呼叫 yaz_wait() 之前呼叫 yaz_range(),底層程式碼將優化其行為。它會要求
伺服器傳回記錄以及搜尋結果,或提交單個 present 請求來獲取記錄(如果您要求的記錄不多)。這在快速破解中沒有區別,但如果您是為多個使用者或大量流量設計,則可能會產生顯著差異。無論您是否先呼叫 yaz_range(),您在 yaz_record() 上進行的迴圈都將相同。"