hyp*_*kcb 18 javascript nosql firebase firebase-realtime-database
我从Firebase获取此警告消息,用于orderByChild我在JavaScript查询中使用的每一个:
FIREBASE警告:使用未指定的索引.考虑在/ tables中添加".indexOn":""到您的安全规则以获得更好的性能
到目前为止,我的查询运行速度非常快,所以我认为没有必要包括indexOn.只是想知道什么是负面影响?
另外,我如何实际禁用警告,因为在调试时它们非常烦人.
小智 13
如果您处于开发阶段,您将感觉不到差异.但随着数据的增长,索引有助于提高查询速度.
阅读本文以了解有关索引优势的更多信息. https://firebase.google.com/docs/database/security/indexing-data
据我所知,要禁用警告,您必须编辑firebase源代码. 有没有办法禁用所有firebase日志记录到控制台?
正如其他人所说:如果你没有定义索引,所有过滤都发生在客户端.这在初始开发期间可能很好,但随着您添加更多数据,它变得越来越浪费.
要解决此问题,请在Firebase数据库规则中定义正确的索引.您可以在项目的Firebase控制台的" 数据库"面板中修改规则.请参阅Firebase文档中的定义数据索引.
有什么方法可以让我观察索引中发生的变化吗?
Firebase提供了用于排序和查询数据的强大工具。索引可以提高查询的性能。考虑一个名为的表,其中dinosaur包含一些数据,例如:
{
"lambeosaurus": {
"height" : 2.1,
"length" : 12.5,
"weight": 5000
},
"stegosaurus": {
"height" : 4,
"length" : 9,
"weight" : 2500
}
}
Run Code Online (Sandbox Code Playgroud)
您需要(搜索)排序恐龙的高度和长度,但不要按重量排序。因此您需要为dinosaur表设置规则,例如:
"rules": {
"dinosaurs": {
".indexOn": ["height", "length"]
}
}
Run Code Online (Sandbox Code Playgroud)
通过告知Firebase此信息,Firebase可以使用它.indexOn来优化我们的高度和长度查询。然后,我们维护了Firebase用于查询数据的安全性,并且还改善了查询的性能。
| 归档时间: |
|
| 查看次数: |
13522 次 |
| 最近记录: |