如果我正在查找數據庫中的記錄,正在編寫一個sql查詢以直接更快地搜索數據庫或正在從數據庫讀取整個數據到一個散列表,然後搜索O(1)時間更快? 這個問題是針對過去遇到這種問題的有經驗的程序員。SQL查詢更快地搜索或使用散列表
回答
對數據庫直接進行sql查詢顯然要比將所有記錄讀入哈希表並從中進行搜索要快得多。這不僅可以節省您的時間,將所有記錄首先加載到哈希表中,然後通過它們進行搜索。第二,它也將節省大量的內存,你的哈希表將消耗。
我經歷過這種情況。希望這可以幫助你!
假設他們只進行一次查詢。如果他們需要重複查詢,內存將贏得手中的勝利。 – 2010-12-13 01:59:55
如果你知道行或您正在搜索的列的主鍵索引,然後做檢索」使用SQL會快很多。特別是如果你的表不適合到內存中。
如果SQL表沒有被索引,所以你不得不通過基準測試來找到你的答案。由於有很多因素,比如行數,IO速度,網絡速度(如果數據庫在刪除機器上),很難只給一個問題的答案
在另一方面,索引表是一個更好的選擇。只是,離開DBMS的工作,DBMS。
對於單個查詢,將所有數據返回給應用程序(然後必須分配並初始化哈希表)可能比使SQL Server自己進行比較的速度更快。特別是如果桌子很大。服務器可以絕對找到匹配的記錄,而不是將所有數據發送到客戶端。 – 2016-08-09 20:00:11
Sql Server數據庫比Hash表更快,更好。 背後的重要原因之一。 散列表從輔助存儲中讀取一次數據,然後加載到內存中。 現在,很容易識別會發生什麼? 通過以巨大的方式存儲數據,系統會很慢。它將很難操縱和檢索記錄.....
儘管如此,與散列表相比,DBMS被認爲是非常方便的環境。如果您試圖用數千條記錄獲得結果,那麼您不需要創建索引。這取決於需求。因此,從三層應用程序獲得遠程機器的答案非常容易。它需要關心行數,IO速度等。
- 1. mySQL更快地搜索單個列?或兩列串聯?或使用加入?
- 2. 使用子查詢更快地查詢
- 3. 使列表視圖搜索更快
- 4. 多表SQL搜索查詢
- 5. 散列圖或搜索樹?
- 6. 靈活的搜索或使用三個表的sql查詢?
- 7. 搜索使用散列
- 8. 使用標識列或搜索列上的索引加速SQL查詢?
- 9. 使SQL查詢更快
- 10. 使SQL查詢更快
- 11. SQL查詢:使用元組列表搜索
- 12. 使用「like'%search%'」搜索SQL Server表(或索引視圖)列的最快方法?
- 13. 索引可以更快地搜索文件中的列表?
- 14. SQL查詢搜索
- 15. SQL搜索查詢
- 16. SQL搜索查詢
- 17. sql - 搜索查詢
- 18. 這個coldfusion9 SQL搜索查詢可以更快嗎?
- 19. 如何加快MYSQL全文搜索或更改查詢
- 20. 從IIS或SQL Server查詢Azure搜索?
- 21. 全文搜索或純SQL查詢
- 22. 索引sql列加快加入查詢
- 23. 搜索使用短語SQL Server查詢
- 24. Bacula使用sql查詢搜索文件
- 25. 如何使用sql查詢搜索birthdate?
- 26. SQL SELECT查詢使用搜索
- 27. SQL使用LIKE搜索查詢
- 28. 二進制搜索查詢使用SQL
- 29. 搜索列表的更快捷方式?
- 30. 哪個更好更快? Wordpress查詢或SQL查詢
當然,顯然在數據庫中搜索更快?特別是如果你認爲你已經在相關領域索引。爲什麼複製所有數據然後搜索會更快?建立數據庫來搜索表格。 – 2010-12-12 16:46:21