Using GetAsync(key) or Select * from bucket

As per some couchbase blog, I noticed that primary index is not recommended in production.

  1. What is the reason for that?
  2. If so, how can I use bucket.GetAsync(key) or “SELECT * FROM bucket” without WHERE clause ?