|
-
Originally posted by marist89
1. Put some sample data in the table
2. analyze the table
3. look at the average row size
4. multiply * number of expected rows
Code:
SQL> create table xyz (x number(10), y varchar2(20), z date);
Table created.
SQL> declare
2 i number;
3 begin
4 i:= 0;
5 while ( i < 1000 ) loop
6 i:= i+1;
7 insert into xyz values (i, to_char(i), sysdate);
8 end loop;
9 end;
10 /
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> analyze table xyz compute statistics;
Table analyzed.
SQL> select avg_row_len from user_tables where table_name = 'XYZ';
AVG_ROW_LEN
-----------
19
If you expect this row to have 1,000,000 records, it would be approximate 19,000,000 bytes.
Jeff,
thanks for the response.
I have two questions:
1. how does Oracle calculate on the AVG_ROW_LEN, based on what???
2. based on your example, you mentioned that let's say AVG_ROW_LEN=19, what do you mean by "If I expect this row to have 1,000,000 record", you mean 1,000,000 rows to to be inserted into this table????
Thanks
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|