分类: Mysql/postgreSQL
2006-08-14 12:10:35
>, >=, =, <, <=, IF NULL and BETWEEN on a key.
SELECT * FROM table_name WHERE key_part1=1 and key_part2 > 5;
SELECT * FROM table_name WHERE key_part1 IS NULL;
- When you use a LIKE that doesn't start with a wildcard.
SELECT * FROM table_name WHERE key_part1 LIKE 'jani%'
- Retrieving rows from other tables when performing joins.
SELECT * from t1,t2 where t1.col=t2.key_part
- Find the
MAX()
or MIN()
value for a specific index.
SELECT MIN(key_part2),MAX(key_part2) FROM table_name where key_part1=10
ORDER BY
or GROUP BY
on a prefix of a key.
SELECT * FROM foo ORDER BY key_part1,key_part2,key_part3
- When all columns used in the query are part of one key.
SELECT key_part3 FROM table_name WHERE key_part1=1
key_part1
is evenly distributed between 1 and 100, it's not good to use an index in the following query:SELECT * FROM table_name where key_part1 > 1 and key_part1 < 90
ORDER BY
on a HEAP table
SELECT * FROM table_name WHERE key_part2=1
LIKE
that starts with a wildcardSELECT * FROM table_name WHERE key_part1 LIKE '%jani%'
SELECT * from table_name WHERE key_part1 = # ORDER BY key2