Greg Stark wrote:

> [EMAIL PROTECTED] (Robert Locke) writes:
> 
> >     - store this string into Oracle  (type is LONG)
> 
> You really really don't want to be using LONG btw. How large is the data
> you're really storing anyways? Oracle can do varchars up to 2k unlike some
> other pesky databases.

And 4K in 8.1

> LONGs have a number of problems, you can't export/import them, you can't
> create table as select to copy them to a new table etc. They also allegedly
> make your tables slow to access, though I don't know the details. 

In a nutshell:

Complete rows are stored in blocks. Blocks are the smallest unit of I/O.
So you're always doing I/O equal to the size of the rows no matter
how many columns you need.  In other others, "select COL1 from table"
does the same physical I/O as "select * from table".  

If a table has a sizable LONG column that most SQL ignores, you 
end up doing lots of needless I/O.  But this is not specific to LONGs.
A table with 100 full Varchar2(2000) columns requires the same I/O
as a table with 1 100*2000 LONG column.

Mark

Reply via email to