❶ sql优化 查询太慢,需要提高查询速度
你的这个查询要优化的地方不是not in, 而是整个查询的结构: 使用了太多的子查询,而且都是查找的相同的表(GISDUCT表查询4次),这肯定不是好的查询方法,应该把你要达到的目的再思考,转化成合适的查询语句。
个人认为,你算OCCUPYCOUNT和TOTALCOUNT的子查询应该可以在一个查询中搞定的,因为都是查询GISDUCT表,只是统计取值的条件有所不同罢了,而按条件统计可以用类似“case when 条件 then count(xxx) else 0 end”的结构来实现。有问题可再讨论。
❷ 一条查询极为缓慢的sql语句,如何去优化
有时候不一定要优化sql语句,有可能是相关的表没有索引,如果你想让人帮忙的话,最好把相应的语句贴出来,还有相关表结构
❸ 一条sql执行过长的时间,你如何优化,从哪些方面
1、查看sql是否涉及多表的联表或者子查询,如果有,看是否能进行业务拆分,相关字段冗余或者合并成临时表(业务和算法的优化)
2、涉及链表的查询,是否能进行分表查询,单表查询之后的结果进行字段整合
3、如果以上两种都不能操作,非要链表查询,那么考虑对相对应的查询条件做索引。加快查询速度
4、针对数量大的表进行历史表分离(如交易流水表)
5、数据库主从分离,读写分离,降低读写针对同一表同时的压力,至于主从同步,mysql有自带的binlog实现 主从同步
6、explain分析sql语句,查看执行计划,分析索引是否用上,分析扫描行数等等
7、查看mysql执行日志,看看是否有其他方面的问题
个人理解:从根本上来说,查询慢是占用mysql内存比较多,那么可以从这方面去酌手考虑
❹ 一条查询极为缓慢的sql语句,如何去优化呢
1、将查询条件字段简历index;
2、将尽可能筛选掉最大数据量的条件放到where条件最后面,因为sql执行时,where条件是由右往左执行。
3、尽可能少用like、in等函数
❺ sql优化的几种方法面试
1.你把学校里面学的东西都弄通,弄懂就可以了,基本的概念和原理都能说出来,如你说的sql优化就是:为数据库建立索引,如何提高检索速度之类的问题。教科书上都有说啊。
2.面试不是说一定要什么都懂才能去面的,你要找多一点面试经验,面试经常问什么问题,比如指针,链表等,有针对性地准备一下,不用全部一骨碌地看。
3.积累经验和编程作品,多做项目,自己多写些程序。面试就有了筹码。
❻ 查询特别慢 如何优化SQL
思路:
首先,要确定使用的是什么数据,
若是MSSQL,那么需要看一下查询计划,然后逐一解决慢的问题;
若是Access,那么就要看表的索引创建是否合适,另外Access还有一个弊病,就是数据库大于10MB后,速度和性能将极大的下降
❼ 数据库条件查询速度慢时怎么优化(不要复制别人的答案给我,我都看过了,答案都一样,而且有语病)
我面试的时候就被问到过这个问题,方法就增加索引/简化字段/使用底层代码等等还有一些就记不到了,当时也因为这个问题被刷了-.-
你说的那个“已经对返回结果的控制” 可能是“以及对返回结果的控制”,只提取需要的数据,可以简化的结果数据都进行简化,到后台写几段代码再解析也会提升效率。
❽ 面试官问“项目中有没有进行过sql性能优化”
可以这样说
使用索引,把所建的索引所用列名,用在where语句中,并尽量在条件的最右边
在Sql语句中,把条件最小的写在最右边,如果id=?写在最右边
在sql尽量少写子查询,用join语句代替,少写in,like,or