Không thể so sánh được như thế này. Trong khi bạn có thể nhận được cùng một dữ liệu (trong một số trường hợp) từ cả hai ý định của chúng hoàn toàn khác nhau: FQL là ngôn ngữ truy vấn, Biểu đồ là một API.
Gọi để FQL truy vấn nếu sử dụng mới JS SDK là một API Graph gọi chính nó ...
Bạn có thể (và có lẽ nên, nếu bạn lo lắng về việc so sánh thực tế và suy đoán không lý thuyết) so sánh tốc độ của các cuộc gọi trở về cùng dữ liệu nhưng bạn nên đưa vào tài khoản một số điều:
- Graph API vẫn hút tại
điều kiện lọc dữ liệu và
tập hợp dữ liệu
- FQL chỉ không thể cung cấp cho bạn quá nhiều các chức năng cần thiết trong các ứng dụng hiện nay (như Real-Time updates)
- API đồ thị có khả năng gọi là batch, có thể tăng tốc độ nhiều thứ, điều này cũng có thể được sử dụng để gọi fql.query và fql.multiquery (theo cách hơi cồng kềnh).
- đá Graph API tại lọc dữ liệu với
Field Expansion
xem xét sau đây ví dụ từ FQL documentation, subquery đó lấy về tất cả các thông tin người dùng cho người dùng tích cực và bạn bè:
SELECT uid, name, pic_square FROM user WHERE uid = me()
OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
này chỉ đơn giản là không thể đạt được với một lệnh gọi API Graph.
(xem Cập nhật)
Khi bạn xác định tập con dữ liệu mong muốn để bạn có thể chọn phương thức truy xuất phù hợp dựa trên yêu cầu của bạn.
BTW, FQL là nhiều tuổi hơn Graph, chúng tôi đã có nó sang một bên để FBML (rip) và FBJS (rip)
Cập nhật:
Graph API cung cấp đường cho Batch Requests và xác định sự phụ thuộc giữa các hoạt động trong yêu cầu.Ví dụ cùng một mẫu như trên có thể đạt được trong một cuộc gọi duy nhất để lập biểu đồ API
POST https://graph.facebook.com/
POST Data:
batch=[
{
"method": "GET",
"name" : "get-friends",
"relative_url": "me/friends?fields=id",
},
{
"method": "GET",
"relative_url": "?ids={result=get-friends:$.data.*.id}&fields=id,name,picture"
}
]
Cập nhật 2:
Tính đến ngày 30 tháng 8 năm 2012 Graph API cũng được hỗ trợ Field Expansion như bổ sung (rất mạnh) cơ chế của dữ liệu thu hồi (bao gồm cả dữ liệu lồng nhau)
không thực sự là một câu trả lời, nhưng tôi nghĩ rằng độ trễ của netwo rk là mối quan tâm nhiều hơn, so với độ trễ của xử lý CPU. Facebook phải có chính sách bộ nhớ cache tốt để tăng tốc mọi thứ. –