Hey everyone,
 
currently I have some temporary table which I populate this way (recursive 
triggers on)
 
CREATE TEMPORARY TABLE IF NOT EXISTS NestedEntriesResult_ID (IDX INTEGER NOT 
NULL, DBORDER INTEGER PRIMARY KEY NOT NULL);
 
CREATE TEMPORARY TRIGGER IF NOT EXISTS NestedEntriesPopulate_ID
AFTER INSERT
ON NestedEntriesResult_ID
FOR EACH ROW
BEGIN
INSERT INTO NestedEntriesResult_ID (IDX) SELECT IndexME.IDI FROM IndexME WHERE 
IndexME.Parent = New.IDX ORDER BY IndexME.[Order];
END
 
INSERT INTO NestedEntriesResult_ID (IDX) VALUES (?)
this insert runs chain of triggers which insert all child items in following way
0 - 1 - 2 - 3
             - 4
   - 5 - 6
        - 7
   - 8
 
 
table IndexME contains tree-like structure where IDI - primary key, Parent - 
item tree parent - link to "parent item" IDI, Order - item order within same 
Parent (aka unique value for rows which have same Parent). All important 
columns are indexed.
As can be guessed populating table is quite slow - ~150ms for around 10k rows 
in IndexME.
 
Suggestions for better (faster) method ?
I've yet to try simply doing it C, but I don't think running 10k inserts (to 
get result into table - as it's part of another query) alone will give me 
better performance.
 
thanks in advance,
M.
 
 
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to