像查询性能一样改进沙发基础

时间:2018-02-08 07:16:27

标签: database nosql couchbase n1ql

我有一个N1QL查询,需要20秒才能完成。数据库包含110万条记录,它有一个用于locationCode的GSI类型。以下是查询。

  

SELECT * FROM appdb WHERE locationCode =“1-1-03-010”AND   type =“institute”AND lowerName LIKE“%acg%”LILMIT 10 OFFSET 0;

但表现非常糟糕。能否请您就如何提高上述查询的性能向我提出建议?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

检查查询的计划文本,以查看查询计划的哪些部分花费的时间最长。如果您使用的是Couchbase 5 Enterprise,您也应该能够查看图形表示。

您可能没有达到预期的索引,或者可能因为您选择*,实际投影数据需要很长时间(我不知道您的文档有多大)。没有这些细节,很难推测。

但如果我不得不推测,LIKE最有可能占用了大量时间。这应该是一个文本驱动的搜索?如果是这样,您可能需要考虑使用Couchbase的Full Text Search(FTS)功能而不是N1QL用于该用例。在lowerName字段上创建一个FTS索引(至少)。