关于mysql数据库加索引的一些疑问

关于mysql索引的一些疑问,查阅了很多资料,说的都很模糊,有几种类型的索引不知道怎么加:
1.groupby的索引要怎么加?单独的加一个索引还是和搜索条件加在一起?
2.有LEFT JOIN的查询索引要怎么加,例如

        SELECT a.id,FROM a
        LEFT JOIN b
        ON a.id = b.aid
        WHERE a.year = 1 AND b.month = 2
        GROUP BY b.a
        ORDER BY a DESC
        

3.像有

SELECT a.id,SUM(a.q+a.w) as day_pv FROM a
ORDER BY day_pv DESC

这样的索引要怎么加?

关于索引以及mysql语句优化方面的东西很薄弱。

或者有什么相关的文章或书籍可以推荐的

阅读 4.1k
6 个回答

建索引主要根据表的查询条件,原则上找数据可选性高的字段创建索引,如人员id、姓名等,根据这样的条件可以大大缩小查询结果集。

新手上路,请多包涵

高性能mysql第三版,第五章,专门讲解创建高性能的索引,索引主要是针对表的不同查询字段建立的,为了缩短查询时间,提高性能

一般用于排序的字段要加上B-树索引,where的字段需要加上索引,多条件的需要组合索引,索引顺序要与条件符合

写了两条sql语句 都有问题

<<数据库索引设计与优化>>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题