XML效率问题
这个函数可能会被调用无数次
Private Function GetXmlNodeText(MenuID, StringParameter)
Dim I As Integer
For I = 0 To RootNode.selectNodes(".//ID").Length - 1
If CLng(RootNode.selectNodes(".//ID")(I).Text) = CLng(MenuID) Then
GetXmlNodeText = RootNode.selectNodes(".//" & StringParameter)(I).Text
Exit For
End If
Next
End Function
意思是当XML中的ID=MENUID时,读取同ID下<stringparameter>标签的值输出。
当初设计XML是为了减轻SQL负担,但现在我在怀疑这样的脚本不是最好的效率,因为如果有1000行,就要遍历1000行,有没有更快捷的XML语句。
还有一个疑问,这虽然省去了SQL的多次查询,节约了SQL资源,但真的值得用XML来实现吗?
倒底是用SQL好,还是XML更好,请高手指点。
------解决方案--------------------读取XML优化下,直接读取
RootNode.selectSingleNode("//ID[text()=='MENUID']/stringparameter").Text
如果XML文档大的话,每次要打开文件解析,搜索效率也不高
------解决方案--------------------小XML处理起来速度还是不错。如果大XML,处理起来很慢。