我只是好奇,如果任何人都可以告訴我,如果使用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. Android SQlite訪問速度不夠快?
- 4. Google App Engine MapReduce的速度有多快?
- 5. 事件發生的速度有多快?
- 6. Google App Engine的速度有多快?
- 7. 可能雙擊速度有多快?
- 8. 計算散列的速度有多快?
- 9. AppDomain創建速度有多快?
- 10. 使用Python將許多列快速插入到Sqlite \ Mysql
- 11. Python,請求,線程,python請求關閉其套接字的速度有多快?
- 12. 從SQLite中的固定寬度列讀取速度更快嗎?
- 13. iPhone快速sqlite查詢
- 14. Sqlite Android快速問題
- 15. Python的快速排序遞歸深度
- 16. iPhone:快速枚舉,速度不夠快?
- 17. 爲什麼python實現miller-rabin的速度比ruby快很多?
- 18. 通過分發目標文件加快編譯速度
- 19. python:快速詞典查找通配符*
- 20. 使用現有的Cloud SQL表加載速度慢;通過雲中的AppMaker創建表SQL加載速度快
- 21. 閱讀PNG像素的Alpha。通過純Python的快速方法?
- 22. 通過python快速將大文件字母化
- 23. 如何通過Python中的.csv文件快速搜索
- 24. 通過快速計算midnights的天差
- 25. 通過VB.net快速導入到SQL(2005)
- 26. 通過ajax快速下載文件
- 27. 通過一個快速無限循環
- 28. 通過QTableWidget行快速搜索
- 29. 通過PayPal快速結賬購物車
- 30. mysql:通過加入快速分組
你想要多快?數據集MB,GB和TB有多大? 「前綴」與「前綴樹」(trie)中的含義是什麼?您對數據執行的操作的效果如何與相關模型相對應? – jfs