大資料場景下的查詢優化 vs 資料庫場景下的查詢優化

時間 2021-05-30 00:04:01

1樓:樹懶學堂

在樹懶君眼中,查詢優化的核心思路應該是這樣的:盡量使語句符合查詢優化器的規則避免全表掃瞄而使用索引查詢;

盡量避免向客戶端返回大資料量,若資料量過大,應該考慮相應需求是否合理;

建立高效的索引。

而在大資料場景下,樹懶君認為,可以從下面的思路來解決查詢優化的問題~合理設計索引,盡量形成索引覆蓋;

採用簇表;

使用ETL工具,在DBMS負載空閒時,將需要查詢最終資料(彙總、統計)的結果計算後存入彙總、統計表,減少對大表的多次掃瞄。

至於資料庫方面的查詢優化,樹懶君曾寫過一篇專門的回答,這邊就不重複贅述啦~ 感興趣的知友可以去看看哦~提高SQL Server 的查詢效率有哪些要點和技巧?

2樓:陳大黑

問題不太明確,你是指SQL解析優化器麼?大資料場景下MapReduce, Spark是查詢的底層任務引擎而非SQL引擎,而在大資料領域,很多技術使用 Apache Calcite 作為SQL解析工具,比如Hive、Drill、Kylin、Flink、Phoenix 和 Storm中,所以如果指的是 SQL 解析優化,可以研究一下Calcite與各種資料庫的SQL解析器的原理,但很多基本原理應該是一樣的,比如 Volcano(Cascades) Optimizer 的原理。

MongoDB 如何應對大資料量查詢做優化,並做結果過濾處理?

johnson 還是得具體問題具體分析,有很多因素要考慮 1.資料集大小 決定了需要處理多少資料,理想狀態是能全部載入到記憶體中處理 2.結果集大小 決定了要返回多少資料。比如聚合排序時記憶體使用超過100m就要開啟allowDiskUse開關,並且效能下降很大。3.查詢邏輯的複雜度 決定了是可以用...

大資料檔案的查詢?

第乙個問題 可以用現有的大資料處理框架來處理這個大檔案,如果時效性要求比較高可以用spark來快速處理,spark可以將這個大的輸入檔案切分為乙個個的小檔案來併發的查詢。第二個問題 可以用hive資料倉儲來做,首先基於hdfs的分布式儲存可以解決的你超大資料量,其次可以按照時間粒度來分割槽,你存18...

可以幫我分析一下大資料分析和大資料工程的區別嗎?

九道門聊資料 首先要這兩者的的定義是什麼,工作的內容是什麼?雖然兩者上都會用到程式設計的技術 但是工程師的工作方式在接到乙個專案之後是有標準化的流程,標準化的流程更像是乙個工程。我們在實施工程的時候要將工程細化到每乙個點應該怎麼做,要百分之百的完成這些設計的要求。資料分析師的工作性質和工程師的就不一...