Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用100个触发器和大量递归触发器加速SQLite程序_Sql_Sqlite - Fatal编程技术网

使用100个触发器和大量递归触发器加速SQLite程序

使用100个触发器和大量递归触发器加速SQLite程序,sql,sqlite,Sql,Sqlite,我有一个大型SQLite程序,其中有许多触发器(400个),还有许多触发器中带有递归语句的。它开始运行得有点慢,随着我添加触发器和带有递归语句的变得越来越长,缓慢性似乎在增加 我已经收紧了SQL以消除不必要的积垢,但它已经到了一个地步,即使在最精简的形式下,它仍然很慢 SQL触发器是固定的,因此,如果有某种方法可以使用固定触发器和递归语句“编译”SQL代码,那将是理想的。我甚至还想把逆向工程C++代码自动化,作为SQL的ORM,但这看起来很痛苦。那么,有人有任何技巧来加快SQLite程序(提示通

我有一个大型SQLite程序,其中有许多触发器(400个),还有许多触发器中带有递归语句的
。它开始运行得有点慢,随着我添加触发器和带有递归
语句的
变得越来越长,缓慢性似乎在增加


我已经收紧了SQL以消除不必要的积垢,但它已经到了一个地步,即使在最精简的形式下,它仍然很慢


SQL触发器是固定的,因此,如果有某种方法可以使用固定触发器和递归语句“编译”SQL代码,那将是理想的。我甚至还想把逆向工程C++代码自动化,作为SQL的ORM,但这看起来很痛苦。那么,有人有任何技巧来加快SQLite程序(提示通过函数、GCC编译选项等等来提供SQLite),而不需要将它们移植到像C++ +?/P>这样的编译语言上,当你拥有的是一个锤子时,一切看起来都像一个钉子。<代码>递归< /C> >不能太快。这听起来好像你试图在SQL中做的太多了。“我已经收紧了SQL以消除不必要的积垢,但它已经到了一个地步,即使在最精简的形式下,它仍然很慢。”如果你有400个触发器,那么你还没有消除很多不必要的积垢。没有400个触发器的“最瘦的形式”(除非我们谈论的是两吨人中最瘦的形式?)。这有点疯狂,你用这么多触发器做了什么?我已经用SQL设计了所有应用程序逻辑,以允许快速原型化,并允许通过查询访问所有数据。这使我能够动态地替换输入和输出触发器,这对于使应用程序可定制非常有用。但我的想法是,我将冻结应用程序的某些版本,在冻结状态下,它们需要更快。