(mysql.info) select-speed
Info Catalog
(mysql.info) estimating-performance
(mysql.info) query-speed
(mysql.info) where-optimizations
7.2.3 Speed of `SELECT' Queries
-------------------------------
In general, when you want to make a slow `SELECT ... WHERE' query
faster, the first thing to check is whether you can add an index. All
references between different tables should usually be done with
indexes. You can use the `EXPLAIN' statement to determine which indexes
are used for a `SELECT'. See explain, and mysql-indexes.
Some general tips for speeding up queries on `MyISAM' tables:
* To help MySQL better optimize queries, use `ANALYZE TABLE' or run
`myisamchk --analyze' on a table after it has been loaded with
data. This updates a value for each index part that indicates the
average number of rows that have the same value. (For unique
indexes, this is always 1.) MySQL uses this to decide which index
to choose when you join two tables based on a non-constant
expression. You can check the result from the table analysis by
using `SHOW INDEX FROM TBL_NAME' and examining the `Cardinality'
value. `myisamchk --description --verbose' shows index
distribution information.
* To sort an index and data according to an index, use `myisamchk
--sort-index --sort-records=1' (assuming that you want to sort on
index 1). This is a good way to make queries faster if you have a
unique index from which you want to read all rows in order
according to the index. Note that the first time you sort a large
table this way, it may take a long time.
Info Catalog
(mysql.info) estimating-performance
(mysql.info) query-speed
(mysql.info) where-optimizations
automatically generated byinfo2html