Hello SQLite, I am having serious truble with SQLite3 in Node.js (the NPM package).
The code uses deprecated packages (such as crypto, http, https, aws-sdk) and when I try to fix some of the (mostly) fixable problems, the console shows a warning, about an inappropriate loader to some C# file. If possible, please help! I am stuck with this problem for a whole month and still no solution. On Tue, Jun 12, 2018, 5:37 AM Keith Medcalf <kmedc...@dessus.com> wrote: > > Yes. Looking up the trigger and preparing the VDBE code appears to the > additional time spent. > > --- > The fact that there's a Highway to Hell but only a Stairway to Heaven says > a lot about anticipated traffic volume. > > > >-----Original Message----- > >From: sqlite-users [mailto:sqlite-users- > >boun...@mailinglists.sqlite.org] On Behalf Of David Burgess > >Sent: Monday, 11 June, 2018 17:50 > >To: SQLite mailing list > >Subject: Re: [sqlite] Trigger Performance > > > >Trying again/ > >Specifically, preparation of the constant "trigger part" of the > >statement is > >the overhead? Correct? > > > >On Tue, Jun 12, 2018 at 9:47 AM, David Burgess <dburges...@gmail.com> > >wrote: > >> Specifically, preparation of the "trigger part" of the statement is > >> the overhead? Correct? > >> > >> > >> On Mon, Jun 11, 2018 at 5:16 PM, Keith Medcalf > ><kmedc...@dessus.com> wrote: > >>> > >>> Okay, the difference is the "lots of inserts" -vs- the "one > >insert". > >>> > >>> When I do the same thing (dump the contents of the table to a file > >and then reload the dump), the overhead of the trigger is about 33% > >(same as you). > >>> > >>> There is not only the time to "insert the data" but also the > >overhead of preparing the statements. In the case where the > >statement is not prepared each time but only the single prepare with > >multiple insertions, the time to run the VDBE code which includes the > >trigger is only 5-10% more than to run the insertions without the > >trigger. > >>> > >>> However, the overhead of preparing the statement for execution is > >what is taking up the rest of the observed difference. > >>> > >>> --- > >>> The fact that there's a Highway to Hell but only a Stairway to > >Heaven says a lot about anticipated traffic volume. > >>> > >>> > >>>>-----Original Message----- > >>>>From: sqlite-users [mailto:sqlite-users- > >>>>boun...@mailinglists.sqlite.org] On Behalf Of David Burgess > >>>>Sent: Monday, 11 June, 2018 00:40 > >>>>To: SQLite mailing list > >>>>Subject: Re: [sqlite] Trigger Performance > >>>> > >>>>> The trigger is adding a mere 10% overhead on a million rows ... > >>>>3.24 on a real data DB (16 columns), the inserts were generated > >from > >>>>.dump in the shell, about 45MB of input data > >>>>so > >>>> > >>>>BEGIN; > >>>>lots of inserts > >>>>COMMIT; > >>>> > >>>>Run on a laptop i7 with SSD (not that should make any difference > >to > >>>>the relative performance) > >>>>If I could get your relative performance, I would be happy. > >>>> > >>>>On Mon, Jun 11, 2018 at 3:30 PM, Keith Medcalf > ><kmedc...@dessus.com> > >>>>wrote: > >>>>> > >>>>> Interesting. That is adding 30% or so to process the trigger. > >>>>When I do (this is to a "memory" database): > >>>>> > >>>>> SQLite version 3.25.0 2018-06-11 01:30:03 > >>>>> Enter ".help" for usage hints. > >>>>> Connected to a transient in-memory database. > >>>>> Use ".open FILENAME" to reopen on a persistent database. > >>>>> sqlite> create table crap(uuid text not null collate nocase > >>>>unique); > >>>>> sqlite> .timer on > >>>>> sqlite> insert into crap select uuidStringCreateV4() from > >>>>generate_series where start=1 and stop=1000000; > >>>>> Run Time: real 1.625 user 1.625000 sys 0.000000 > >>>>> sqlite> create trigger crap_trigger before insert on crap when 0 > >== > >>>>1 > >>>>> ...> begin > >>>>> ...> select raise(ABORT, 'abort'); > >>>>> ...> end; > >>>>> Run Time: real 0.000 user 0.000000 sys 0.000000 > >>>>> sqlite> .schema > >>>>> CREATE TABLE crap(uuid text not null collate nocase unique); > >>>>> CREATE TRIGGER crap_trigger before insert on crap when 0 == 1 > >>>>> begin > >>>>> select raise(ABORT, 'abort'); > >>>>> end; > >>>>> sqlite> delete from crap; > >>>>> Run Time: real 0.031 user 0.031250 sys 0.000000 > >>>>> sqlite> insert into crap select uuidStringCreateV4() from > >>>>generate_series where start=1 and stop=1000000; > >>>>> Run Time: real 1.796 user 1.781250 sys 0.015625 > >>>>> sqlite> select (1.796-1.625)/1.625; > >>>>> 0.105230769230769 > >>>>> > >>>>> The trigger is adding a mere 10% overhead on a million rows ... > >>>>> > >>>>> I also got a result where the overhead added by the trigger was > >>>>half that (when using an actual disk db rather than a memory db). > >>>>> > >>>>>>sqlite test.db > >>>>> SQLite version 3.25.0 2018-06-11 01:30:03 > >>>>> Enter ".help" for usage hints. > >>>>> sqlite> create table crap(uuid text not null collate nocase > >>>>unique); > >>>>> sqlite> .timer on > >>>>> sqlite> insert into crap select uuidStringCreateV4() from > >>>>generate_series where start=1 and stop=1000000; > >>>>> Run Time: real 1.891 user 1.609375 sys 0.171875 > >>>>> sqlite> delete from crap; > >>>>> Run Time: real 0.062 user 0.015625 sys 0.015625 > >>>>> sqlite> create trigger crap_trigger before insert on crap when 0 > >== > >>>>1 > >>>>> ...> begin > >>>>> ...> select raise(ABORT, 'abort'); > >>>>> ...> end; > >>>>> Run Time: real 0.031 user 0.000000 sys 0.000000 > >>>>> sqlite> insert into crap select uuidStringCreateV4() from > >>>>generate_series where start=1 and stop=1000000; > >>>>> Run Time: real 1.984 user 1.812500 sys 0.109375 > >>>>> sqlite> select (1.984-1.891)/1.891; > >>>>> 0.0491803278688524 > >>>>> Run Time: real 0.000 user 0.000000 sys 0.000000 > >>>>> sqlite> .exit > >>>>> > >>>>> > >>>>> What version of SQLite are you using? > >>>>> > >>>>> --- > >>>>> The fact that there's a Highway to Hell but only a Stairway to > >>>>Heaven says a lot about anticipated traffic volume. > >>>>> > >>>>> > >>>>>>-----Original Message----- > >>>>>>From: sqlite-users [mailto:sqlite-users- > >>>>>>boun...@mailinglists.sqlite.org] On Behalf Of David Burgess > >>>>>>Sent: Sunday, 10 June, 2018 22:25 > >>>>>>To: sqlite-users@mailinglists.sqlite.org > >>>>>>Subject: [sqlite] Trigger Performance > >>>>>> > >>>>>>I have a table where I drop, create and insert 284,000 rows > >>>>>> > >>>>>>time taken 3.39 seconds. > >>>>>> > >>>>>>I add the following trigger > >>>>>> > >>>>>> > >>>>>>CREATE TRIGGER x_trigger BEFORE INSERT ON x > >>>>>>WHEN > >>>>>> 0 = 1 > >>>>>> BEGIN SELECT RAISE ( ABORT, 'raise' ); > >>>>>>END; > >>>>>> > >>>>>>time taken 4.49 seconds. > >>>>>>_______________________________________________ > >>>>>>sqlite-users mailing list > >>>>>>sqlite-users@mailinglists.sqlite.org > >>>>>>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- > >>>>users > >>>>> > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> sqlite-users mailing list > >>>>> sqlite-users@mailinglists.sqlite.org > >>>>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- > >>>>users > >>>>_______________________________________________ > >>>>sqlite-users mailing list > >>>>sqlite-users@mailinglists.sqlite.org > >>>>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- > >users > >>> > >>> > >>> > >>> _______________________________________________ > >>> sqlite-users mailing list > >>> sqlite-users@mailinglists.sqlite.org > >>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- > >users > >_______________________________________________ > >sqlite-users mailing list > >sqlite-users@mailinglists.sqlite.org > >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > On Jun 12, 2018 5:37 AM, "Keith Medcalf" <kmedc...@dessus.com> wrote: Yes. Looking up the trigger and preparing the VDBE code appears to the additional time spent. --- The fact that there's a Highway to Hell but only a Stairway to Heaven says a lot about anticipated traffic volume. >-----Original Message----- >From: sqlite-users [mailto:sqlite-users- >boun...@mailinglists.sqlite.org] On Behalf Of David Burgess >Sent: Monday, 11 June, 2018 17:50 >To: SQLite mailing list >Subject: Re: [sqlite] Trigger Performance > >Trying again/ >Specifically, preparation of the constant "trigger part" of the >statement is >the overhead? Correct? > >On Tue, Jun 12, 2018 at 9:47 AM, David Burgess <dburges...@gmail.com> >wrote: >> Specifically, preparation of the "trigger part" of the statement is >> the overhead? Correct? >> >> >> On Mon, Jun 11, 2018 at 5:16 PM, Keith Medcalf ><kmedc...@dessus.com> wrote: >>> >>> Okay, the difference is the "lots of inserts" -vs- the "one >insert". >>> >>> When I do the same thing (dump the contents of the table to a file >and then reload the dump), the overhead of the trigger is about 33% >(same as you). >>> >>> There is not only the time to "insert the data" but also the >overhead of preparing the statements. In the case where the >statement is not prepared each time but only the single prepare with >multiple insertions, the time to run the VDBE code which includes the >trigger is only 5-10% more than to run the insertions without the >trigger. >>> >>> However, the overhead of preparing the statement for execution is >what is taking up the rest of the observed difference. >>> >>> --- >>> The fact that there's a Highway to Hell but only a Stairway to >Heaven says a lot about anticipated traffic volume. >>> >>> >>>>-----Original Message----- >>>>From: sqlite-users [mailto:sqlite-users- >>>>boun...@mailinglists.sqlite.org] On Behalf Of David Burgess >>>>Sent: Monday, 11 June, 2018 00:40 >>>>To: SQLite mailing list >>>>Subject: Re: [sqlite] Trigger Performance >>>> >>>>> The trigger is adding a mere 10% overhead on a million rows ... >>>>3.24 on a real data DB (16 columns), the inserts were generated >from >>>>.dump in the shell, about 45MB of input data >>>>so >>>> >>>>BEGIN; >>>>lots of inserts >>>>COMMIT; >>>> >>>>Run on a laptop i7 with SSD (not that should make any difference >to >>>>the relative performance) >>>>If I could get your relative performance, I would be happy. >>>> >>>>On Mon, Jun 11, 2018 at 3:30 PM, Keith Medcalf ><kmedc...@dessus.com> >>>>wrote: >>>>> >>>>> Interesting. That is adding 30% or so to process the trigger. >>>>When I do (this is to a "memory" database): >>>>> >>>>> SQLite version 3.25.0 2018-06-11 01:30:03 >>>>> Enter ".help" for usage hints. >>>>> Connected to a transient in-memory database. >>>>> Use ".open FILENAME" to reopen on a persistent database. >>>>> sqlite> create table crap(uuid text not null collate nocase >>>>unique); >>>>> sqlite> .timer on >>>>> sqlite> insert into crap select uuidStringCreateV4() from >>>>generate_series where start=1 and stop=1000000; >>>>> Run Time: real 1.625 user 1.625000 sys 0.000000 >>>>> sqlite> create trigger crap_trigger before insert on crap when 0 >== >>>>1 >>>>> ...> begin >>>>> ...> select raise(ABORT, 'abort'); >>>>> ...> end; >>>>> Run Time: real 0.000 user 0.000000 sys 0.000000 >>>>> sqlite> .schema >>>>> CREATE TABLE crap(uuid text not null collate nocase unique); >>>>> CREATE TRIGGER crap_trigger before insert on crap when 0 == 1 >>>>> begin >>>>> select raise(ABORT, 'abort'); >>>>> end; >>>>> sqlite> delete from crap; >>>>> Run Time: real 0.031 user 0.031250 sys 0.000000 >>>>> sqlite> insert into crap select uuidStringCreateV4() from >>>>generate_series where start=1 and stop=1000000; >>>>> Run Time: real 1.796 user 1.781250 sys 0.015625 >>>>> sqlite> select (1.796-1.625)/1.625; >>>>> 0.105230769230769 >>>>> >>>>> The trigger is adding a mere 10% overhead on a million rows ... >>>>> >>>>> I also got a result where the overhead added by the trigger was >>>>half that (when using an actual disk db rather than a memory db). >>>>> >>>>>>sqlite test.db >>>>> SQLite version 3.25.0 2018-06-11 01:30:03 >>>>> Enter ".help" for usage hints. >>>>> sqlite> create table crap(uuid text not null collate nocase >>>>unique); >>>>> sqlite> .timer on >>>>> sqlite> insert into crap select uuidStringCreateV4() from >>>>generate_series where start=1 and stop=1000000; >>>>> Run Time: real 1.891 user 1.609375 sys 0.171875 >>>>> sqlite> delete from crap; >>>>> Run Time: real 0.062 user 0.015625 sys 0.015625 >>>>> sqlite> create trigger crap_trigger before insert on crap when 0 >== >>>>1 >>>>> ...> begin >>>>> ...> select raise(ABORT, 'abort'); >>>>> ...> end; >>>>> Run Time: real 0.031 user 0.000000 sys 0.000000 >>>>> sqlite> insert into crap select uuidStringCreateV4() from >>>>generate_series where start=1 and stop=1000000; >>>>> Run Time: real 1.984 user 1.812500 sys 0.109375 >>>>> sqlite> select (1.984-1.891)/1.891; >>>>> 0.0491803278688524 >>>>> Run Time: real 0.000 user 0.000000 sys 0.000000 >>>>> sqlite> .exit >>>>> >>>>> >>>>> What version of SQLite are you using? >>>>> >>>>> --- >>>>> The fact that there's a Highway to Hell but only a Stairway to >>>>Heaven says a lot about anticipated traffic volume. >>>>> >>>>> >>>>>>-----Original Message----- >>>>>>From: sqlite-users [mailto:sqlite-users- >>>>>>boun...@mailinglists.sqlite.org] On Behalf Of David Burgess >>>>>>Sent: Sunday, 10 June, 2018 22:25 >>>>>>To: sqlite-users@mailinglists.sqlite.org >>>>>>Subject: [sqlite] Trigger Performance >>>>>> >>>>>>I have a table where I drop, create and insert 284,000 rows >>>>>> >>>>>>time taken 3.39 seconds. >>>>>> >>>>>>I add the following trigger >>>>>> >>>>>> >>>>>>CREATE TRIGGER x_trigger BEFORE INSERT ON x >>>>>>WHEN >>>>>> 0 = 1 >>>>>> BEGIN SELECT RAISE ( ABORT, 'raise' ); >>>>>>END; >>>>>> >>>>>>time taken 4.49 seconds. >>>>>>_______________________________________________ >>>>>>sqlite-users mailing list >>>>>>sqlite-users@mailinglists.sqlite.org >>>>>>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- >>>>users >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> sqlite-users mailing list >>>>> sqlite-users@mailinglists.sqlite.org >>>>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- >>>>users >>>>_______________________________________________ >>>>sqlite-users mailing list >>>>sqlite-users@mailinglists.sqlite.org >>>>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- >users >>> >>> >>> >>> _______________________________________________ >>> sqlite-users mailing list >>> sqlite-users@mailinglists.sqlite.org >>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite- >users >_______________________________________________ >sqlite-users mailing list >sqlite-users@mailinglists.sqlite.org >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users