SELECTs and Other Queries
EXPLAIN Syntax (Get Information About a SELECT)
SELECT Queries
WHERE Clauses
IS NULL
DISTINCT
LEFT JOIN and RIGHT JOIN
ORDER BY
LIMIT
INSERT Queries
UPDATE Queries
DELETE Queries
SELECTs and Other QueriesFirst, one thing that affects all queries: The more complex permission system setup you have, the more overhead you get.
If you do not have any GRANT statements done, MySQL will
optimise the permission checking somewhat. So if you have a very high
volume it may be worth the time to avoid grants. Otherwise, more
permission check results in a larger overhead.
If your problem is with some explicit MySQL function, you can always time this in the MySQL client:
mysql> SELECT BENCHMARK(1000000,1+1); +------------------------+ | BENCHMARK(1000000,1+1) | +------------------------+ | 0 | +------------------------+ 1 row in set (0.32 sec)
The above shows that MySQL can execute 1,000,000 +
expressions in 0.32 seconds on a PentiumII 400MHz.
All MySQL functions should be very optimised, but there may be
some exceptions, and the BENCHMARK(loop_count,expression) is a
great tool to find out if this is a problem with your query.
EXPLAIN Syntax (Get Information About a SELECT)SELECT QueriesWHERE ClausesIS NULLDISTINCTLEFT JOIN and RIGHT JOINORDER BYLIMITINSERT QueriesUPDATE QueriesDELETE Queries