## Connection methods

The Tracker SPARQL library provides several underlying methods to perform queries and updates to the Tracker Store.

- Direct Access:

  All Read-Only operations done in a TrackerSparqlConnection will by default use this method, as it doesn't involve any D-Bus traffic, and thus, it will perform much better. There is no real connection with the Tracker Store in this case, as the access is direct to the underlying SQLite database. Again, note that this method applies only to Read-Only operations.

  If you plan to only do Read-Only queries to the store, you can get the TrackerSparqlConnection object using `tracker_sparql_connection_get_direct`. Otherwise, if you also plan to use the same connection object for Write operations, you must get the connection object with `tracker_sparql_connection_get`.

- D-Bus FD passing:

  The TrackerSparqlConnection will use the File Descriptor passing method via D-Bus to connect to the Store for all non Read-Only queries on TrackerSparqlConnection objects obtained with `tracker_sparql_connection_get`.

  See the Environment Variables section to check how you can force also Read-Only queries to be done using D-Bus.