我只是好奇,如果任何人都可以告訴我,如果使用SQLite存儲字典(如蠻力)用於Python腳本是一種有效的方法。雖然我對Python相對比較陌生,但對其他編程語言有相當多的經驗,目前正在使用Backtrack中的筆測工具。到目前爲止,我對Python的速度和簡單性印象深刻,而且我的SQL查詢似乎很理想地爲我的強力工具返回所需的前綴。但是,我想我想知道的是在Python中存儲大型數據文件的標準是什麼?我是否忽略了一種更好(更快)的存儲我的前綴的方式,僅僅是因爲我對SQL的安慰?請記住,我沒有使用Python查詢ID 0到n並使用它們,而是使用Python來縮小可能性並查詢符合條件的字典條目。任何幫助或意見將不勝感激!SQLite通過Python速度有多快
5
A
回答
3
是的,sqlite是實現字典的合理選擇。爲了提高速度,請使用:memory:選項,並確保爲查找和查詢創建適當的索引。
對於大型的持久性數據庫,它也能很好地工作。爲了提高速度,請注意提交大型事務而不是每個密鑰。
SQLite的建議的和適當的用途作爲數據存儲覆蓋在他們的網站:http://www.sqlite.org/features.html
1
如果雷蒙德的Hettinger還建議SQLite的,那麼這可能是你最好的選擇。
但是本地Python解決方案將使用「pickle」文件。你會建立一個Python dict
來保存數據,然後「pickle」該字典;之後你可以「解開」字典。如果您只需要搜索一個密鑰,那麼這可能是一個好方法。
對於Python 2.x,您可能需要使用cPickle
模塊。對於Python 3.x,只有pickle
,但我相信它是cPickle
。
http://docs.python.org/library/pickle.html
在如果你的數據集是真正的大,如此之大,SQLite是開始嗆就可以了,然後,而不是分裂它分成多個小的SQLite文件和管理它們的另一方面,它可能使感覺只是將所有東西都轉儲到一個真正的數據庫中,比如PostgreSQL。
1
半偏題,這裏有一些有用的鏈接。
而且這裏是密碼策略,一個偉大的視頻,並使用再到蠻力。
http://www.irongeek.com/i.php?page=videos/hack3rcon2/martin-bos-your-password-policy-sucks
相關問題
- 1. mprotect速度有多快
- 2. git通過遠程操作顛覆Subversion的速度有多快?
- 3. Python:通過文件快速迭代
- 4. Android SQlite訪問速度不夠快?
- 5. Google App Engine的速度有多快?
- 6. 可能雙擊速度有多快?
- 7. 事件發生的速度有多快?
- 8. CRC的生成速度有多快?
- 9. 收到NSNotification的速度有多快?
- 10. Google App Engine MapReduce的速度有多快?
- 11. 您在Cygwin的GREP速度有多快?
- 12. 計算散列的速度有多快?
- 13. AppDomain創建速度有多快?
- 14. Python的多速度
- 15. 使用Python將許多列快速插入到Sqlite \ Mysql
- 16. 快速通過案例
- 17. cmd.ExecuteReader()與SQLite在SQLite管理器中很慢但速度很快
- 18. Python,請求,線程,python請求關閉其套接字的速度有多快?
- 19. 從SQLite中的固定寬度列讀取速度更快嗎?
- 20. iPhone快速sqlite查詢
- 21. Sqlite Android快速問題
- 22. Python函數運行速度太快?
- 23. Python的快速排序遞歸深度
- 24. 如何加快Python的執行速度?
- 25. SQLite插入通過Python
- 26. iPhone:快速枚舉,速度不夠快?
- 27. Web瀏覽器速度過快,如何控制速度?
- 28. Tensorflow啓動速度快,在訓練過程中速度變慢
- 29. Sqlite的刪除速度令人難以置信 - 如何加快速度?
- 30. Python的 - 快速排序 - 最大遞歸深度超過
你想要多快?數據集MB,GB和TB有多大? 「前綴」與「前綴樹」(trie)中的含義是什麼?您對數據執行的操作的效果如何與相關模型相對應? – jfs