title: Partition Keys & Data Modeling in ScyllaDB
body: <p>In Scylla, data is stored by partition key. If I query a large table with many partition keys, is it equivalent to executing multiple queries against the table? For example, suppose I have the following table:</p>
  <pre><code>key1 : val1
  key2 : val2
  key3 : val3
  </code></pre>
  <p>Where each of the 3 keys (<code>key1..3</code>) is a different partition key.</p>
  <p>If I execute the following query against the table:</p>
  <pre><code>SELECT * from table.
  </code></pre>
  <p>Scylla, will presumably need to execute this query 3 times - on 3 different partitions since each row is stored on a different partition. It seems inefficient, as it means the query will be executed once per partition. Suppose the data was partitioned into 100 partitions (100 keys), will the query need to be executed 100 times to complete? (and by extension, the query will only be as fast as the slowest server?)</p>
  <p>If this is true, then querying 1 row from 3 separate tables (e.g, where each row has a different partition key), should have identical performance as when querying 3 rows from one table where each of 3 three rows has a different partition key? In other words, whether the data is modeled as part of one table or multiple tables, doesn't really matter. What matters is whether two or more rows share the same partition key?</p>
  <p>What happens when we query 3 different tables were each row has the same partition key, is this as efficient as querying 3 rows from one table where all of the rows have the same partition key?</p>
  <p>Any guidance in evaluating performance expectations in the 3 scenarios described above would be very helpful.</p>
  <p>Thanks!</p>