Thanks for your help. This way seems to be better. But it is still not
enough I think.

-- takes about 9 seconds
SELECT COUNT(ID) FROM TEST

-- takes about 5 seconds
SELECT COUNT(*) FROM TEST

--- "Williams, Ken" <[EMAIL PROTECTED]> wrote:
> 
> 
> > -----Original Message-----
> > From: Ali Sadik Kumlali [mailto:[EMAIL PROTECTED]
> > Sent: Monday, March 29, 2004 3:09 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: [sqlite] Is using max(rowid) instead of count(*) safe?
> > 
> > 
> > Thanks for taking your time. I'm using P3 600Mhz, 512MB, Win2K Pro
> for
> > the test. Here is what I've done:
> > 
> > CREATE TABLE TEST(
> >   ID NUMBER(12) PRIMARY KEY,
> >   NAME VARCHAR(19)
> > )
> > 
> > -- Transfers 3.5 million rows
> > COPY OR IGNORE TEST FROM 'C:\\DATA.CSV' USING DELIMITERS ';'
> > 
> > -- takes about 9 seconds
> > SELECT COUNT(ID) FROM TEST 
> 
> Try again with COUNT(*) instead of COUNT(ID) if you just want the
> number of
> rows.  The latter needs to figure out which rows have ID NOT NULL,
> but the
> latter just counts all rows.
> 
> I'm surprised that COUNT(ID) would take 9 seconds, but you could also
> try
> creating the table with ID's type as "INTEGER PRIMARY KEY NOT NULL"
> so that
> you're using the BTree table index directly.


__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to