如何解决cassandra cql中的限制有什么影响
执行诸如select * from table limit 10
之类的cqlsh查询时,cassandra会扫描整个表并只返回前10条记录吗,还是可以在整个数据中心中精确定位前10条记录而无需扫描整个表?
解决方法
LIMIT
选项在查询返回的最大行数上设置上限,但这不会阻止查询执行全表扫描。
Cassandra具有诸如请求超时之类的内部机制,可以防止不良查询导致群集崩溃,因此查询更有可能超时,而不是对所有节点/副本进行扫描而使群集超载。
请注意,LIMIT
选项与SELECT COUNT()
一起使用时无关紧要,因为count函数仅返回1行(根据设计)。无论设置了多少限制,COUNT()
都需要进行全表扫描。我在这篇文章https://community.datastax.com/questions/6897/中对此做了更详细的说明。干杯!
LIMIT选项在查询返回的最大行数上设置上限,但不会阻止查询执行全表扫描。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。