phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <jamestay...@apache.org>
Subject Re: Order by/limit clause on partitioned data
Date Sun, 13 Dec 2015 21:17:06 GMT
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 <
sachin.katakdound@gmail.com> 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
>
>
>
>
>

Mime
View raw message