㈠ 如何优化慢查询的sql语句
优化方法一般从几个方面这几个考虑:
1、根据业务情况,精简代码逻辑,
2、根据读写方式,降低数据表读写量
3、关键条件列增加合适的索引
4、对于碎片多的索引进行重建
多数情况下只需要考虑前两条就能解决很大的效率问题,业务模式可能在最初开发的时候,因需求分析不彻底,或者需求理解不深入,导致逻辑不合理,或者后续多次变动业务模式,新增功能与最初的开发理念发生变化,这时就应该对代码的逻辑进行重新优化改写。
㈡ SQL语句执行太慢,怎么优化
Try this:
select storage.prodcode, sum(case when billsale.prod_number is null then 0 else billsale.prod_number end) as '已销售数量'
from storage left join billsale on billsale.prodcode=storage.prodcode
group by storage.prodcode
㈢ sql语句 ,执行太慢 ,求优化
select
*
from
table_a as a
inner join
table_b as b
on
a.name=b.name
where
table_a.name like "liu%"
or table_a.name like "wang%"
--试试吧,数据量大的话 like语句 本身就不快
㈣ 千万级数据量 我的sql 效率很慢:请问以下sql 如何优化
select distinct s.id
from student s,student tj
where (tj.biao ='0' or tj.biao= '1') and tj.yuwen<> 0 and s.id is not null
and s.score >= '500' /*总分大于500*/
and s.id = tj.id
and s.updatedate =
to_char(to_date('2012-12-04', 'yyyy-mm-dd'), 'yyyymmdd')
//group by tj.id
㈤ 查询特别慢 如何优化SQL
思路:
首先,要确定使用的是什么数据,
若是MSSQL,那么需要看一下查询计划,然后逐一解决慢的问题;
若是Access,那么就要看表的索引创建是否合适,另外Access还有一个弊病,就是数据库大于10MB后,速度和性能将极大的下降
㈥ 现在有条sql,由于数据量过大,程序中执行过慢需要优化,有没有sql大神帮忙啊 下面是sql脚本。
1.(SELECT COUNT(*) FROM t_activate_expand e WHERE e.activate_code = a. CODE) total
这个是想得到t_activate_expand表的总记录数,
2.(SELECT COUNT(*)FROM t_activate_expand e LEFT JOIN t_ticket_recode r ON e.code_data = r.code_data WHERE e.activate_code = a. CODE AND r.state = 3 ) couponNum 这个用的左连接,couponNum和total的值是相等的吧,你是不是逻辑写错了?
3.select a.* FROM t_activate_code a where a.shop_id = 'c574d803-0ea0-4849-b4d8-030ea01849b7' AND a.type = 1 这个句是条件查询t_activate_code表
你要在一句里面查询的话时间过长,你可以分3次查询,他们单个查询应该很快,不过我怎么看你这语句写得这么别扭
㈦ 如何优化MySQL中查询慢的SQL语句啊
MySQL查询优化的5个好用方法
http://soft.chinabyte.com/database/254/11335754.shtml
原则上来说
在
FIND_IN_SET
typeid IN (35)
arcrank
加复合索引
在sortrank加索引
㈧ 如何优化SQL命令
你可以使用变量呀,使用宏替换,只要在程序中对变量赋值就行了呀
㈨ SQL命令的优化
select * from emp where ename='SMITH'
这句相当于是直接找到ename='SMITH'的条数据。
select * from emp where ename like '%H'
这个相当于拿每一条去比较
哪个快,显而易见
㈩ 复杂慢sql语句如何优化
很简单啊,优先索引,第二结构,第三算法。
索引最简单,如果是SQL server客户端或者toad可以提示有哪些需要进行优化的地方。
结构就是针对要查询的值,尽量集中到一个表,减少串表,函数查询,左链的表字段查询。
算法就是OR还是IN?串表时IN还是EXISTS ?oracle in 的限制。条件执行顺序等。
然后还有其他注意的,例如只查固定字段就不要 select * 只要注意以上步骤,千万级数据串10个秒也能1秒内显示出来。
有条件的话,当然是用归档数据进行查询,这样就不会占用业务数据IO了,最后一步就是“云计算”(解析有一百种,没有统一概念,我的意识其实就是归档过程中根据分组维度计算好,并根据日期放进相关的表,减少表粒度,只进行简单的select查询)