给出以下 NRQL 查询:
SELECT * FROM AppPerformance WHERE app LIKE '%stackoverflow%'
这个其他查询在性能和成本方面会更便宜吗?
SELECT * FROM AppPerformance WHERE app = 'stackoverflow'
查看 New Relic 中 NRQL 查询的成本和性能取决于多种因素,包括 New Relic 帐户中的数据量和查询复杂性。一般来说,使用更具体的查询可能比使用通配符模式更高效、更经济,特别是当通配符模式有可能匹配大量记录时。
您的情况:
SELECT * FROM AppPerformance WHERE app LIKE '%stackoverflow%'
使用通配符模式来匹配 app
属性中任何位置包含“stackoverflow”的任何值。这可能会匹配广泛的记录,并且查询可能需要更长的时间来执行并消耗更多的资源。
并且
SELECT * FROM AppPerformance WHERE app = 'stackoverflow'
更具体,因为它仅匹配 app
属性完全等于“stackoverflow”的记录。这可能更加高效且更具成本效益,因为它减少了需要扫描的记录数量。
因此,就性能和成本而言,第二个查询可能更便宜、更高效。使用满足您要求的最具体的查询来优化性能并降低成本始终是一个很好的做法。