标签:task mysql 查询 索引 条件 筛选 where 连接
1.on 后面的条件和where 后面的条件的区别
查询语句开始 会根据 on后面的条件创建一张虚拟表,左边表是全部数据,右边表会根据on后面的条件进行筛选。
然后再根据where后面的条件进行筛选虚拟表中的数据作为最终数据
所以如果是筛选右表中的条件 放在了where 中则则会过滤掉 部分左表中的数据
结论:筛选右表的条件和左右表关联的条件写在on中 筛选左表的条件写在where中
2.右表中的条件放在on中 如果右表的数据量很大的情况下会有很长的查询时间 是因为创建虚拟表的时候由于数据量大 查询条件没有索引造成的 所以相应的增加索引进行查询。
3.创建索引
alter table tableName add Index indexName(clum);
ALTER TABLE optable_task_item ADD INDEX task_id ( `task_id` );
4.那么where 中的条件创建索引时候有用呢?
标签:task,mysql,查询,索引,条件,筛选,where,连接 来源: https://www.cnblogs.com/xiatc/p/12781305.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。