写法错误
1.如果索引字段是字符串,则必须在字段值外加上引号,如:
SELECT * FROM notice WHERE villageid IN ('0','4100000')
数据量
1.如果数据量很小,mysql会认为扫描全表比使用索引快,自然不会使用索引.
2.如果查询结果数据量很多,mysql也不会使用索引.
比如style 字段就3个值分别等于0,1,2.使用style索引进行查询style in (0,1)
如果此时总数据量很大且style分布均匀,那么导致查询出的结果很大,比如超出两万,那么mysql不会使用索引.
你可以加上limit来解决它.
排序问题