Anatoly Lubarsky

Logo
MSSQL, .NET, Design. Life and Music

FQL Tricks: How to Count Records

What is FQL ?

FQL is a Facebook platform SQL-style interface which can be queried by 3rd party applications using SQL-like syntax.


Some key features:


  • FQL does not support joins, but supports sub-queries (including IN keyword).
  • Query must be indexable (WHERE clause should include at least one field that is defined as "indexable").
  • COUNT and ORDER BY are not supported.
  • It is possible to select structured fields (e.g. SELECT current_location.zip) or entire structures.
  • The output is XML.

How to count records

Given that output XML is transferred over the wire one should also take care of the bandwidth. For example we want to get COUNT (only) of all current user friends who installed the current application. COUNT is not supported so we need to fetch all required records and count them on the application side. The query should go like so:


SELECT '' 
  FROM user 
 WHERE uid IN (SELECT uid2 
                 FROM friend 
                WHERE uid1 = USERID)
   AND has_added_app = 1

Selecting empty string would reduce the size of the XML dramatically, yet it is very easy to count rows quickly.


Enjoy


Related Posts:

Sunday, October 07, 2007 3:42 AM

If your feedback doesn't appear right away, please be patient as it may take a few minutes to publish.

Post a Comment

Protected by CAPTCHAEnter the code you see
Name (*)  
E-mail (*)  
Url
Remember

Comment (*)