On Jan 23, 2009, at 11:50 AM, manohar s wrote:

> I have a SQLite database which is of size 1.5 GB. The problem that  
> it is
> taking a lot of time (12 seconds after execution of vacuum) to  
> execute a *
> SELECT* query.
>
> Here is the create Table statement:
>     CREATE TABLE IF NOT EXISTS [snapshot_master] (
>                                            PRIMARY KEY (metric_id,
> timestamp_id),
>                                            [timestamp_id] INTEGER  
> NOT NULL,
>                                            [metric_id] INTEGER NOT  
> NULL,
>                                            [metric_now] TEXT,
>                                            [metric_diff] TEXT
>                                            )
>
> Index on this Table for the column:
>      *timestamp_id*
>
> Query  :
>      SELECT metric_id, MAX(timestamp_id) AS timestamp_id_max FROM
> snapshot_master GROUP BY metric_id

Have you tried:

     CREATE INDEX xyzzy ON snapshot_master(metric_id, timestamp_id);

>
>
> I do not understand why this query has to take 12 seconds?? I tried to
> optimize by creating more indexes but no luck.
> BTW, before execution of vacuum, time taken for Query to execute is  
> aprrox.
> 17 minutes(1074890649319 nano seconds)
>
> I am using sftp_profile for finding out the time.
>
> 1) What am I doing wrong here?
> 2) Is there any problem in the database design?
>
> Waiting for your response,
> Manohar.S
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

D. Richard Hipp
d...@hwaci.com



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to