我必須執行2個查詢:查詢A很長(20秒),查詢B很快(1秒)。 如果查詢A正在運行,我希望保證查詢B的執行速度也很快。 我如何實現這種行爲?Nodejs和Sqlite。執行長查詢
0
A
回答
0
由於SQLite的鎖定方式,這可能並不容易。
來自官方的Appropriate Uses For SQLite文檔:
SQLite支持同時讀者的數量不受限制,但只允許在任何時刻一個作家的時間。對於很多情況,這不是問題。作家排隊。每個應用程序都快速完成其數據庫工作並繼續前進,並且不會有超過幾十毫秒的鎖定。但是有一些應用程序需要更多的併發性,而這些應用程序可能需要尋求不同的解決方案。 [...] SQLite每個數據庫文件一次只支持一個寫入器。但在大多數情況下,寫入事務只需要幾毫秒,因此多個寫入者可以輪流進行。 SQLite將處理許多人懷疑的更多寫入併發性。儘管如此,客戶端/服務器數據庫系統,因爲他們有一個長期運行的服務器進程來協調訪問,通常可以處理比SQLite更多的寫入併發性。
如SQLite文檔所述,當您擁有如此多的數據以至於單個查詢需要這麼長時間時,它可能不是使用SQLite的最佳方式。
除了使用像PostgreSQL這樣的真正的RDBMS之外,沒有簡單的解決方案可以解決這個問題。
而且由於您沒有包含那些需要這麼長時間的查詢,所以除此之外,還無法告訴您任何事情。當然,也許你的查詢可以優化,但我們不知道。
相關問題
- 1. nodejs + sqlite:查詢執行順序
- 2. 執行SQLite查詢
- 3. Mysql長執行查詢
- 4. NodeJS MySQL:度量查詢執行時間
- 5. 從nodejs客戶端執行voltdb查詢
- 6. SQLite:執行查詢時出錯:near「WITH」
- 7. Java sqlite執行數千個查詢
- 8. 如何分析Sqlite查詢執行?
- 9. 執行查詢SQLite中的Xcode內
- 10. Android Sqlite查詢執行中斷
- 11. MySQL,JDBC查詢執行時間太長
- 12. Hive查詢執行時間太長
- 13. MySQL PHPExcel查詢執行時間太長
- 14. 查詢花太長時間執行
- 15. SQL查詢執行時間太長
- 16. SQL查詢長時間執行時間
- 17. 查詢花費很長時間執行
- 18. 插入和執行查詢在android的sqlite數據庫錯誤
- 19. 每行sqlite查詢
- 20. 如何在Nodejs中編寫mysql查詢的串行執行
- 21. 查詢執行
- 22. 查詢執行
- 23. 執行查詢
- 24. nodejs - IF和ELSE都執行
- 25. 從Sqlite查詢遍歷行 - 查詢
- 26. 長查詢和applicationDidEnterBground:
- 27. Django的:SQLite和查詢
- 28. 遊標,SQLite和查詢
- 29. Android SQLite查詢Where和Where
- 30. 執行相同的查詢會在nodejs中給出「FailedToParse」錯誤
查詢是一個簡單的select * from表,並且該表具有10000000條記錄(例如)。 – user2957271