我必须写下按层次组织的数据集的xml模式。它必须由Nokogiri解析才能进行信息检索。我的问题是,从性能的角度来看,尊重层次结构还是扁平化层次结构更好?例如。
<item_1 id="id_1">
<item_2 id="id_2">value</item_2>
</item_1>或
<item id_1="id_2" id_2="id_2">value</item>我知道,就可读性和可维护性而言,应该避免多个属性,但性能是我的首要任务。
发布于 2013-06-10 09:38:12
如果您希望获得绝对最快的性能,并且文档很大,那么您可能根本就不想使用XPath。SAX (或Reader)过滤器将是最快的。
但是,如果您打算让Nokogiri解析文档并为XPath创建一个DOM,我认为您是否使用以下命令进行查询没有太大区别:
doc.xpath('/item1[@id=x]/item2[@id=y]') #first case或
doc.xpath('/item[@id_1=x and @id2=y]') #second case当然,根据您的实际数据对这两个解决方案进行基准测试是确定答案的唯一方法。
https://stackoverflow.com/questions/17010808
复制相似问题