我目前正在使用嵌入式sqlite存儲相對較大的數據列表(從每個表100'000行開始)。查詢只包括:sqlite替代巨大的數據列表?
- 尋呼
- 排序由現場
金額數據的一列相對較小。性能非常糟糕,特別是對於第一個查詢,這對我的應用程序至關重要。各種調音和預緩存已經嘗試並達到了實際的極限。
是否有任何替代嵌入式數據存儲庫,可以以非常快速和有效的方式做這些簡單的查詢? Theres沒有要求它支持SQL。
我目前正在使用嵌入式sqlite存儲相對較大的數據列表(從每個表100'000行開始)。查詢只包括:sqlite替代巨大的數據列表?
金額數據的一列相對較小。性能非常糟糕,特別是對於第一個查詢,這對我的應用程序至關重要。各種調音和預緩存已經嘗試並達到了實際的極限。
是否有任何替代嵌入式數據存儲庫,可以以非常快速和有效的方式做這些簡單的查詢? Theres沒有要求它支持SQL。
如果是(主要是)只讀,請考慮使用文件的內存映射視圖。
這將有可能實現最大的性能滾動你自己的指標。
很明顯,它也是工作量最大,容易出錯的問題。
我可以推薦一個傳統的RDBMS,它具有良好的索引或者可能是一個支持您的工作負載的新穎的無SQL樣式的數據庫?
數據正在發生變化,但速度很慢但很常見:(像MySQL這樣的傳統SQL服務器將非常適合,但是這超出了嵌入式應用程序的範圍,並會導致很多額外的部署問題:(我應該看看這些nosql dbs ,謝謝。 – 2012-03-26 10:44:41
你可以嘗試lucene.net,它速度快,不需要任何安裝,支持按字段分頁和排序等等。 http://incubator.apache.org/lucene.net/
用簡單的Lucene的包裝,也很容易使用:http://blogs.planetcloud.co.uk/mygreatdiscovery/post/SimpleLucene-e28093-Lucenenet-made-easy.aspx
您是否嘗試過分裂您的表?處理它們可能會變得笨重,但在某些情況下它可以工作,並且如果它確實提供了改進的性能,則存在危險。 – halfer 2012-03-26 10:40:59
是的,實際上他們分裂他們最小行數從數百萬到數十萬,這仍然是非常緩慢:( – 2012-03-26 10:46:52
我想創建一個鬼桌只包含大集只有「頭」,所以我可以但是這只是在sqlite上建立了另一個解決方法:( – 2012-03-26 10:48:14