0
A
回答
1
這是如何由GraphQL查詢管理的?
簡短回答:這不是(託管)。你必須把它寫在你的解析器中。
你GraphQL模式基本上只是一個代表節點表示在圖邊緣類型和字段的聲明。 GraphQL是查詢此圖的語言。在架構的每一個邊緣,您都可以編寫一個函數,以便在查詢遍歷該邊時如何獲取數據。這個函數被稱爲「解析器」,只要它返回有效數據,就可以在解析器中放置幾乎任何代碼。這意味着GraphQL完全是,絕對是數據庫無關的。您的解析器負責與您的數據庫交談。
因此,當涉及到SQL和連接時,關注查詢完全是API開發人員的責任。 GraphQL對SQL或連接一無所知,因此這基本上是您必須編寫的應用程序的自定義邏輯。事實證明,構建用於解決GraphQL查詢數據的SQL查詢是非常困難的,而不會遇到像急於獲取太多數據或「N + 1」問題那樣的問題。
開源社區中的一些工具已經出現,可以幫助解決這個問題。這裏有一對夫婦,我會建議在Node.js的空間:
- DataLoader - 數據庫無關的工具,批處理查詢和緩存個人記錄。
- Join Monster - 用於高效數據檢索和查詢批處理的SQL定製工具。它檢查每個查詢和您的模式並動態生成SQL查詢。
聲明:我是Join Monster的聯合創始人。
相關問題
- 1. Graphql定製加入
- 2. 試圖加入json列與其他表普通列錯誤
- 3. GraphQL查詢與表加入
- 4. 將@Resource注入普通類
- 5. Cassandra PreparedStatement vs普通插入
- 6. 合併行與普通列
- 7. 普通人的PHP加密?
- 8. 普通名字的普通計算機可解析列表?
- 9. 普通隊列vs SEDA隊列
- 10. GraphQL時間序列
- 11. 如何將React作爲普通的JavaScript文件加入
- 12. SQL Server查詢性能 - 普通加入VS子查詢
- 13. 加入嵌套表和普通表來獲取
- 14. 嵌入.exe與普通文件
- 15. 從普通陣列創建的QList
- 16. 使用代理與普通陣列
- 17. Jooq - 普通SQL參數數組/列表
- 18. PHP,合併陣列與普通鑰匙
- 19. 未能轉換爲普通陣列
- 20. Gulp.js不會重新加載普通CSS
- 21. 動態加載jquery在普通的javascript
- 22. IE6 - 無法加載普通JPG
- 23. 普通UIView沒有被添加到UIStackView
- 24. 錯誤加載@角/普通/ HTTP - 角2
- 25. 普通代碼
- 26. 普通浮法
- 27. 普通主機
- 28. 普通表達
- 29. GraphQL java後端入門
- 30. graphql中的Rails jsonb列