优化MySQL数据库查询

时间:2012-03-13 20:22:04

标签: mysql

我有一个庞大的表,但我知道在大多数情况下,只有一小部分数据用于查询。有没有办法让MySQL只查找这一小部分?在这种情况下,“查看”有帮助吗?

2 个答案:

答案 0 :(得分:3)

只需阅读本文 - http://dev.mysql.com/doc/refman/5.0/en/optimization.html

优化索引,语句/子句,缓存和服务器本身。

答案 1 :(得分:0)

许多专栏

如果您有许多列,请确保仅在SELECT语句中命名已使用的列。这允许MySQL跳过未使用的列,而不是返回您不会使用的值。

所以,而不是以下查询:

SELECT *
FROM users

使用此类查询:

SELECT id, last_name, first_name
FROM users

多行

如果您有许多行,请使用WHERE子句将索引添加到要过滤的列。例如:

SELECT id, last_name, first_name
FROM users
WHERE last_name = 'Smith'

上述查询为姓氏为“Smith”的所有用户记录选择特定列。

如果last_name列上有索引,MySQL将能够非常快速地找到与WHERE子句中的条件匹配的记录。