N1QL vs get/upsert in performance

Is there is known difference in performance on N1QL vs get/upsert for one document ? As I upsert my doc and after it need to query it for values I wonder if it’s not better to use one way for it and go N1QL for both.

Has anyone an opinion/experience with this ?

If you operating on single document and know the docId, no filtering needed you can use get/upsert, You can also consider sub-doc option.
If you need to search by condition (no docIds) and do predicate (processing) N1QL is better option.

That is what I thought myself as well, but the same goes for inserting the docs, and multiple ones @ once ?