我有一个庞大的表,但我知道在大多数情况下,只有一小部分数据用于查询。有没有办法让MySQL只查找这一小部分?在这种情况下,“查看”有帮助吗?
答案 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子句中的条件匹配的记录。