0

I have been unable to find a resource that can clearly define what these values mean. I have a dummy explain plan below that shows all the different letters I have seen for Oracle:

Rows    |    Bytes

21P          10E  
11G          15G  
5M           7M

My question is what do the values G,P,E, and M mean? Further are there other values that I have not seen and if so what do they mean and what letters are they?

Woot4Moo
  • 23,987
  • 16
  • 94
  • 151
  • For people that move to close, dba.se is a site that has next to no activity and as such it is very difficult to get questions answered. – Woot4Moo Nov 20 '12 at 14:40

1 Answers1

1

I think these stand for Mega- Giga- Peta- and Exa- which means there's something very bad(tm) with your SQL. Could you have missed a few cross joins on very large tables?

Things to check:

  • ensure statistics are up-to-date on all tables and indexes involved
  • check that you have indexes (if possible) that facilitate your join (i.e. indexes on your joined columns on both tables ideally)
  • sanity-check the query for cross joins (joins from table A to table B with no "on" or "where" criteria)

It could be that the Oracle optimizer is just confused, or it could be that your query is really returning an absurd amount of data, whether intended or not.

Chipmonkey
  • 863
  • 7
  • 18
  • That was my fear that it was going to be the standard and not some bizarre Oracle naming convention. Back to the drawing board on this query it seems. – Woot4Moo Nov 20 '12 at 14:26
  • That also implies that `T` is tera correct? – Woot4Moo Nov 20 '12 at 14:30
  • Yep, T for Tera-. Very big numbers. – Chipmonkey Nov 20 '12 at 14:31
  • Quite so, the underlying issue is that I am joining together about 9 tables that range in row counts from 1 million to 300+ million. So it stands to reason my query is jacked up somewhere along the way, so I am revisiting indices. – Woot4Moo Nov 20 '12 at 14:33