Mickey Slater
Mickey Slater

Reputation: 404

is it quicker to do 24 database queries or 1 database query and sort in php?

I have a site accepts entries from users. I want to create a graph that displays the entries over time. Is it more efficient to make 24 calls to the database have sql return the number of entries per hour or should i just do one call and return all the entries and organize them in php?

Upvotes: 1

Views: 106

Answers (3)

Alain Collins
Alain Collins

Reputation: 16362

Ok, let's compare:

1) Query the database for all the values. Return a large chunk of data across your network to the application server. Parse all of that data through the client's DBD interface. Build your own data structures to store the data the way you want it. Write, document and maintain client code to loop across the detailed data, adding/updating your data structure with each row.

2) Query the database for the data you want in the format you want it. Let the highly tuned database create the summary buckets. Return less data across the network. Parse less data on the app server. Use the data exactly as it was returned.

There's no "it depends". Use the database.

Upvotes: 0

urlreader
urlreader

Reputation: 6605

I think it depends on your settings, such as database, whether database on the same machine as web server, traffic, ... each call uses some over header on database server, but you do not need sort on web server. I would suggest test it with a loop.

Upvotes: 0

472084
472084

Reputation: 17895

Depends on the data, the database schema and the query.

Usually the less queries you can make, the better.

If it's still slow after optimising the query, cache the result in PHP?

Upvotes: 2

Related Questions