一个SQLite查询我一直在试图运行像一个查询:使用多个连接在C#
Insert into Members
SELECT People.id, Names.value., Ages.value FROM People
LEFT JOIN Names on Names.id = People.id
LEFT JOIN Ages on Ages.id = People.id
当SQLite的经理(几秒钟)执行它运行良好。但是当我在程序中运行它时需要一段不可接受的时间来执行(停止等待它)。我试过我自己的ExecuteNonQuery包装器(对于类)以及command.ExecuteNonQuery()
所有其他查询(包括连接/插入)都可以正常工作,它只是这一部分。我试过做连接作为视图,tempTables各种查询变化,这在SQLite经理,但不是我的解决方案:(
我的数据目前只有几千行,但将超过一百万时这是一个一次性的查询作为数据导入的一部分,我使用的是System.Data.SQLite。
是否有任何已知的问题用这种方法进行多个连接/大插入?(我的其他查询返回的小得多结果结果)我应该调查的LINQ或类似的(看相关的问题)。
感谢。
感谢堆。我只是做了索引,现在插入速度非常快!我知道这是显而易见的......我在完成所有导入后立即创建了所有索引,并认为我会最大限度地提高插入性能......由于我的导入过程是一种有效的批量插入,并且应用程序只读一次导入我想我总体我没有节省任何时间...再次感谢,这是显而易见的和noob错误,但我需要有人告诉我:) – DougF 2011-03-02 10:22:13
为什么提到Linq?在问题或答案中我没有看到任何linq。 – 2013-09-21 13:34:48
@AndrewArnott“我应该调查Linq还是类似的(查看相关问题)。”看问题的最后一行。 – 2013-09-21 17:51:29