Sure James. 
I think I also figured why rowkeyindex is used here. The global index rule for 
having all columns in the query applies to secondary indexes only, I suppose 
and not to primary key based lookups so which is why explain plan correctly 
reports using rowkey in this case.
      From: James Heather <[email protected]>
 To: [email protected] 
 Sent: Wednesday, September 30, 2015 8:08 PM
 Subject: Re: Explain plan over primary key column
   
 I don't see why it wouldn't be able to use the index for that.
 
 In any case, if that's what "explain" is telling you, I think you can trust 
it...
 
 James
 
 

On 30/09/15 15:36, Sumit Nigam wrote:
  
  Thanks so much James ... 
  I am sorry to be asking so many questions ... But last one -  
  When I -  EXPLAIN  SELECT ID, TEXT FROM EXP  WHERE ID > 5 AND ID < 10  
  here TEXT is not a part of PK, then also I get the same plan - RANGE SCAN 
OVER EXP [6] - [10]  
  Which I suppose just means that rowkey index is still used. I thought that 
global indexes are only used when all columns in the query are a part of it. 
  Sorry again. Sumit 
      From: James Heather <[email protected]>
 To: [email protected] 
 Sent: Wednesday, September 30, 2015 7:58 PM
 Subject: Re: Explain plan over primary key column
   
   Yup
 
 
 
   On 30/09/15 15:25, Sumit Nigam wrote:
  
  Thanks James.  
  So, if I did a range lookup like - EXPLAIN SELECT ID FROM EXP WHERE ID > 5 
AND ID < 10   then I get  .... RANGE SCAN OVER EXP [6] - [10]  
  Is that indication enough that PK/ index is used? 
      From: James Heather <[email protected]>
 To: [email protected] 
 Sent: Wednesday, September 30, 2015 7:49 PM
 Subject: Re: Explain plan over primary key column
   
   You're asking for every single row of the table, so nothing's going to avoid 
a full scan. The index wouldn't help.
 
 
 
   On 30/09/15 15:18, Sumit Nigam wrote:
  
  Hi, 
  I have a table as: 
  CREATE TABLE EXP (ID BIGINT NOT NULL PRIMARY KEY, TEXT VARCHAR); 
  If I explain the select: 
  EXPLAIN SELECT ID FROM EXP; 
  Then it shows CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER  EXP .... 
  I assume it still uses rowkey. Or is it should have shown  using rowkey in 
explain plan? 
  Also, is it a good idea to declare VARCHAR(n) vs plain VARCHAR?  Does it save 
some space? 
  Thanks, Sumit  
  
   
 
     
  
   
 
     
 
 

  

Reply via email to