Not sure where your performance problems are!?

I created a test database on my laptop (winxp) with my tester app.
Inserted 1 million records with random data. Here's how fast this works,
MAX takes .168ms (milliseconds, not seconds!), count() with a where
clause takes 266ms.

SELECT MIN(rand) AS out FROM t_test returns 1.02212652564049E-6 Time:
.318 ms
----------
SELECT MAX(rand) AS out FROM t_test returns 0.999998970422894 Time: .168
ms
----------
SELECT SUM(rand) AS out FROM t_test returns 500095.604959011 Time:
944.533 ms
----------
SELECT AVG(rand) AS out FROM t_test returns 0.500095604959011 time:
950.86 ms
----------
SELECT COUNT(*) AS out FROM t_test WHERE rand > 0.5 retrieved 500,516
records. t
ime: 266.787 ms

And this is is with itunes and more running at the same time on the
machine... Maybe you didn't index the table? Indexing makes all the
difference in the world.

Cheers

Balthasar Indermuehle
Inside Systems GmbH
http://www.inside.net

"Louis Pasteur's theory of germs is ridiculous fiction." 
Pierre Pachet, Professor of Physiology at Toulouse, 1872 .  



-----Original Message-----
From: Cesare D'Amico [mailto:[EMAIL PROTECTED] 
Sent: Monday, March 29, 2004 12:09
To: [EMAIL PROTECTED]
Subject: Re: [sqlite] Is using max(rowid) instead of count(*) safe?


Alle 08:54, luned́ 29 marzo 2004, Ali Sadik Kumlali ha scritto:
> I wonder if I could use max(rowid) safely instead of count(*). Does
> rowid increments by 1 for each new row?

As previously stated, it's not safe.

A workaround could be to create an additional table with one field and 
one row, in which you put the number of rows of the other table. At 
every insert or delete on the big table, you should update the value of 
this counter (the best way I can think of is using a trigger, with a 
single atomic update: UPDATE table_counter SET counter = counter + 1).

Ciao
     ce
-- 
Cesare D'Amico - boss (@t) cesaredamico (dot) com
http://www.cesaredamico.com        ~       http://www.phpday.it
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
  -- The Zen of Python, by Tim Peters


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



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

Reply via email to