Exactly what I was hoping for! Thanks very much.
-----Original Message-----
From: Griggs, Donald [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 6:39 PM
To: [email protected]
Subject: RE: [sqlite] Re: Any way to know the numbers of rows affected
by a cmd?
Regarding:
Anderson, James H (IT) wrote:
> I guess I forgot to mention the context. I'm interested in doing this
> from the cmd shell.
>
>
James,
You can use the command
pragma count_changes=1
in the shell to have it report the number of rows affected by insert,
update, or delete statements (see
http://www.sqlite.org/pragma.html#modify for details).
======================
======================
But if you're using the command-line demonstration program, I don't
think the pragma will help you.
Since the command shell program (sqlite3.exe) doesn't attempt to
implement a procedural language (variables, loops, ,etc) I don't know
that you could do what you need to do with the count anyway.
You *may* find that if you replace your single selects with:
Select 'The count is ', count(*) from blah, blah, blah. --
perform select just to get a count
Select * from blah, blah, blah -- this
time for real
The second select goes much faster because of caching.
Or maybe run a test with EXPLAIN QUERY PLAN as prefix to the select in
order to be sure it's using the indicies you expect -- maybe
*everything* can be made much faster.
A fancier option would be to cache the results of your select into a
temporary table, such as:
CREATE TEMP TABLE stuff_temp AS SELECT blah, blah, blah;
SELECT 'The count of stuff is', SELECT COUNT(*) FROM stuff_temp;
You might look at "PRAGMA temp_store" to optimize handling of
temporary tables.
I think that the command line sqlite3.exe was mainly intended as a
demonstration and a testing tool -- most users want to link the library
into a language of their choice -- all the more true if speed is
particularly important.
Don't get me wrong; I myself love to mess with sqlite3.exe and create
crazy batch files. ;-)
[opinions are my own, not necessarily those of my company]
------------------------------------------------------------------------
-----
To unsubscribe, send email to [EMAIL PROTECTED]
------------------------------------------------------------------------
-----
--------------------------------------------------------
NOTICE: If received in error, please destroy and notify sender. Sender does not
intend to waive confidentiality or privilege. Use of this email is prohibited
when received in error.
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------