[英]Bad performance of ResultSet.next() in java sqlite JDBC
從 sqlite 數據庫中檢索數據時,我遇到了ResultSet.next()
的性能問題。 我正在使用org.sqlite.JDBC驅動程序。 我嘗試設置 statement/ ResultSet.fetchSize()
,但這也不起作用。
操作圍繞25秒持續,當我在使用SQL語句的字符串paramater WHERE
子句(與在非字符串參數WHERE
,它持續時間只有4秒)。
我發現使用某些驅動程序可以在 URL 中將send string parameter as unicode = false
設置send string parameter as unicode = false
,這應該可以提高性能。 但是,我無法找到如何使用 SQLite 連接進行設置的方法。
有人可以幫我解決這個問題嗎?
在 SQLite 中,結果行是按需計算的。 (SQLite 不是客戶端/服務器數據庫,因此沒有通信開銷。)
因此,當next()
很慢時,這僅意味着您的查詢很慢,並且數據庫必須進行大量 I/O 和/或許多計算,直到它可以返回下一行。
為了加快速度,您必須改進數據庫設計、查詢或硬件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.