bq. When this simple query with Order by and limit clause is executed, does it return a valid data considering the fact that the data will be spread across 4 region servers? Yes
bq. Does this mean that 15 rows are gathered from each region server and then the limit clause applied on the client? Yes bq. How exactly is this query executed? It's executed as you've described. Each parallel scan that Phoenix runs returns the top 15 rows (as determined by the ORDER BY clause). The results of these scans are merge sorted on the client with the top 15 rows being returned. On Sat, Dec 12, 2015 at 10:24 PM, Sachin Katakdound < [email protected]> wrote: > Let’s say we have a simple (phoenix table) data set. > > create table ADDRESS(“id” NUMBER primary key, > “city” VARCHAR, > "state” VARCHAR, > “zip” VARCHAR) SALT_BUCKETS=4 > > And lets suppose there are 4 different region servers, and this data set > is spread across 4 separate regions. > > Now, the following query is run; > select * from ADDRESS order by “city” limit 15; > > When this simple query with Order by and limit clause is executed, does it > return a valid data considering the fact that the data will be spread > across 4 region servers? > > I believe the query plan indicates “ordering on the server” and then limit > clause on the client. > > Does this mean that 15 rows are gathered from each region server and then > the limit clause applied on the client? > How exactly is this query executed? > > Thanks in advance. > > Regards, > Sachin > > > > >
