文章详情页
php - 关于mysql数据库加索引的一些疑问
浏览:127日期:2022-06-10 17:10:24
问题描述
关于mysql索引的一些疑问,查阅了很多资料,说的都很模糊,有几种类型的索引不知道怎么加:1.groupby的索引要怎么加?单独的加一个索引还是和搜索条件加在一起?2.有LEFT JOIN的查询索引要怎么加,例如
SELECT a.id,FROM aLEFT JOIN bON a.id = b.aidWHERE a.year = 1 AND b.month = 2GROUP BY b.aORDER BY a DESC
3.像有
SELECT a.id,SUM(a.q+a.w) as day_pv FROM aORDER BY day_pv DESC
这样的索引要怎么加?
关于索引以及mysql语句优化方面的东西很薄弱。
或者有什么相关的文章或书籍可以推荐的
问题解答
回答1:mysql复合索引与普通索引总结
书籍呢:高性能的mysql(第三版) 索引部分,淘宝那帮翻译的那部
回答2:建索引主要根据表的查询条件,原则上找数据可选性高的字段创建索引,如人员id、姓名等,根据这样的条件可以大大缩小查询结果集。
回答3:高性能mysql第三版,第五章,专门讲解创建高性能的索引,索引主要是针对表的不同查询字段建立的,为了缩短查询时间,提高性能
回答4:一般用于排序的字段要加上B-树索引,where的字段需要加上索引,多条件的需要组合索引,索引顺序要与条件符合
上一条:mysql - 现在已经使用CommandArgument取到t_ID的值,现在还想取t_Name的值一起放到cs文件中的sql语句中该怎么做下一条:MySQL 如何 SELECT 除去某一列的所有列?
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. MYSQL新建用户设置可以远程访问的问题3. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题4. java - mybatis怎么实现在数据库中有就修改,没有就添加5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. linux - 为什么我在mysql的my.cnf下找不到bind-address?7. 数据库设计 - MySQL数据库主键问题8. mysql同步数据到elasticsearch用什么工具?9. mysql 5.7单表300万数据,性能严重下降,如何破?10. 数据库 - mysql 远程可以连接,但是本地连接拒绝?
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)