我有users
表 -为什么我的索引字段是以随机顺序而不是按字母顺序(ASC)顺序返回的?
id INT
account_id INT
name VARCHAR
email VARCHAR
我增加了一个索引(account_id, name)
让用户按照字母顺序被name
返回。
但是,在我的一些查询中,用户在name
字段中按字母顺序返回,但在其他字段中,它们不是,并且以随机顺序返回 - 我的索引似乎没有应用。
SELECT * FROM users WHERE account_id = 56; // Index is applied.
// Sorted by name in ASC order.
SELECT * FROM users WHERE account_id = 110; // Index is not applied.
// Not sorted by name.
这可能是什么原因?
(难道是相关的查询获取的记录数?难道是因为分区的?)
请帮助。
试着谷歌索引基数,看看MySQL可能会决定不使用索引。另外,在提出有关MySQL和SELECT的问题时,请张贴'EXPLAIN'的输出。 – 2015-02-06 13:21:56