I'm a newbie to using SQL in general, so my apologies if this has been answered before.
I have a series of tables I'd like to create to represents the output that comes from parsing a bunch of source code files. Basically ctags output in DB format. I've created the following tables using sqlite3 CREATE TABLE Types ( TypeID INTEGER PRIMARY KEY , TypeInfo CHAR(125) ); CREATE TABLE Templates ( TemplateID INTEGER PRIMARY KEY , TemplateSignature CHAR(125) ); CREATE TABLE Files ( FileID INTEGER PRIMARY KEY , Path CHAR(255) ); CREATE TABLE Symbols ( Id INTEGER PRIMARY KEY , Kind INTEGER , Name CHAR(125) , FileID INTEGER , TypeID INTEGER , Offset INTEGER , LineNumber INTEGER , TemplateID INTEGER DEFAULT 0 NOT NULL , Parent INTEGER DEFAULT 0 ); CREATE TABLE Functions ( FuncID INTEGER PRIMARY KEY , Signature CHAR(125) , SymbolID INTEGER , ReturnTypeID INTEGER NOT NULL ); I can then populate the tables fine. In my test, the symbols table had over 11,000 entries and the functions table over 7,200 entries. When I run the following query: "select symbols.name, functions.signature from symbols, functions where functions.symbolid = symbols.id;" This takes a long time (over 20 secs) on a P4 3 Ghz with 1 Gb RAM. Should it take this long? Is it slow because my table is setup incorrectly? Thanks so much! Jim Crafton