Griggs, Donald wrote:
>  > On linux you can do
>   
>> dd if=database.db of=/dev/null bs=1M
>> and after perform "select ..."
>>     
>
> =================================
> From: sqlite-users-boun...@sqlite.org
> [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Nathan Biggs
> Subject: Re: [sqlite] Full Table Read
>
> We are actually using Windows XP for an OS.  (I know, lots of
> limitations, but that is what we have to use).
>
> =================================
>
> I think the windows equivalent would be:
>    copy /b database.db nul
>
> In either case, we're assuming your database fits into available
> ram-cached virtual space.
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
>
=============================
Biggs wrote:

Is that just creating an in-memory database then?  I'm not familiar with
a copy to a null location.
=================================  

Nothing quite that fancy.   It's just attempting to get most or all of
your database into the read-cache of the operating system.   (I probably
was not accurate earlier when I wrote "virtual space" since I don't know
how the read-cache is implemented.)

Your performance, after a successful loading into cache, should be about
that of a ram-based  database -- without the data integrity and
synchronization problems a ramdisk-based database can cause.

You didn't mention any "order by" clause on your "select *".   If you
*do* require a an ordering of the output then an index, of course, could
possibly make a large difference.

Instead of the copy to a nul device, you could also try running a vacuum
command -- since it   can "defragment" a table who's portions are spread
throughout the file.

All this assumes that the time to perform the copy or vacuum is
tolerable in your application.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to