On Sat, 17 Jul 1999, T
> Norbert Kolb wrote:
> > This query has only to be run once. shall i sort manualy (e.g. perl) ?
> > Or how shall i modify the query ?
> If you change the query of course results can vary. But I can't
> understand why to worry about it? Under unix there are generally no
> difference of using memory (swap out) or writing directly to file
> (buffers). Anyway if you have memory, everything wil go smoothly and if
> you not then disk IO will be high. I believe it's good in this case do
> not swap out other processes. This religious problem :).
Hardly! Your argument appears to be that you can write any size file to
the FS so long as you have enough *memory*. This may be appear to be the
case under solaris (for example) where /tmp is normally mounted from the
swap but is *not* true in general. Even with buffering, the OS will still
expect there to be sufficient space on the disk for the file - after all,
it will probably flush the buffers to disk during the lifetime of the
file. Simply because you do haven't close()'d a file doesn't mean you
don't need enough space to store it on disk until you do close() it!
Anyway, as it stands at the moment, the situation is this (from my
understanding & scanning the manual):
o The amount of space needed for the temporary tables can be calculated
using the formulae in the documentation.
o If files are going to be larger than a certain size, contain blobs, or
you have specified '--big-tables' they will be written to tmpdir.
Otherwise they will be handled in memory. You cannot change these
settings, although you might be able to in 3.23.
o tmpdir is /tmp or /var/tmp unless specified otherwise