select-sql 语句优化,求帮忙

问题描述

sql 语句优化,求帮忙
Select t9.Product_IDa.Product_Namea.Product_BuyNum b.Org_Price b.Sale_Price c.Img_Small c.Img_Middle
isnull((select SubShop_Price from subshop_product where subshop_id=1057 and product_id=a.product_id)b.Sug_Price) as SubShop_Price b.Sug_Pricea.Product_SeeNuma.AddTime
a.orderid From
(
Select Top 30 product_id from
(
Select row_number() over(order by a.product_id desc) as rownumbera.product_id

From Product_Info a
Inner Join Product_Price b On a.Product_ID = b.Product_ID

Inner Join SubShop_ProductRight d ON a.Class_ID = d.Class_ID AND d.SubShop_ID=1057

Where ((a.SubShop_ID is null or a.SubShop_ID=-1) or ((a.SubShop_ID=1057 or a.Is_AllShow=0 ) and Is_Audit=0))
and a.IsHidden = 0 And a.IsDelete = 0
And a.Product_Name Like '%%' and a.Product_ID
not in (select product_id from SubShop_Product where IsHidden=1 and SubShop_ID=1057)

) t
where rownumber>4170 Order By rownumber
) as t9
inner join Product_Info a on a.Product_ID=t9.Product_ID
Inner Join Product_Price b On a.Product_ID = b.Product_ID left Join Product_Detail c On a.Product_ID = c.Product_ID

rownumber>4170 这个数值会根据不同页数变化,求解怎么优化,这个占用CPU很高,导致系统速度慢

解决方案

你那个算法太多了能不能精简一下

解决方案二:
你不要直接贴语句 把相关的表结构和功能说出来 需要达到什么样的效果
要不你这样别人只能在你的思路上进行修改 没啥作用

解决方案三:
要看懂起码要半个小时,再写一下又要半个小时,只能呵呵了!!!!

解决方案四:
data structure tables relationship foreign key primary key.
查詢目的。這些都沒有,

时间: 2024-09-08 08:11:33

select-sql 语句优化,求帮忙的相关文章

把这四条sql语句从sqlsever变成oracle的sql语句,求帮忙

问题描述 把这四条sql语句从sqlsever变成oracle的sql语句,求帮忙 1C 1.SELECT top 1 MENUID+1 from app_menu ORDER BY CAST(MENUID AS int) desc 2.SELECT top 1 idfileNamefilePathcreateTimemd5fileSize FROM VIS_file WHERE md5=#md5# 3. SELECT top 1 USERIDREALNAMEGENDEROTELOEMAILQQ

sql语句问题求大神帮忙帮忙

问题描述 sql语句问题求大神帮忙帮忙 select count(*) from (SELECT HY_GUID,COUNT(*) number FROM dbo.BI_GYDD GROUP BY HY_GUID) a where number=1 select count(*) from (SELECT HY_GUID,COUNT(*) number FROM dbo.BI_GYDD GROUP BY HY_GUID) a where number=2 select count(*) from

sql优化-mysql数据库sql语句优化,求大神!!!!

问题描述 mysql数据库sql语句优化,求大神!!!! SELECT DISTINCT uid, level,username,ansnum FROM test WHERE level=100 GROUP BY uid ORDER BY ansnum DESC LIMIT 12; uid.ansnum均已建索引,主要是GROUP BY uid导致特别慢,如何提速??? 解决方案 MySQL数据库SQL语句优化原则 解决方案二: 根据你的查询需求,没有特别好的优化办法.注意group by 和o

sql语句问题。求语句,求帮忙

问题描述 sql语句问题.求语句,求帮忙 有A B两张表里面的字段列名完全一致只有数据不一致..现在要把A B两张中不同数据插入到A表中.怎么做 解决方案 insert语句后面加where约束呗 解决方案二: 求差集,oracle提供差集函数(minus),但是mysql就没有,所以得根据数据库区别对待.http://www.cnblogs.com/shengtianlong/archive/2010/12/03/1895346.html 解决方案三: 提供两种思路: 个人建议创建视图要好一些,

select-我写过的最长的sql语句,求大神指点,

问题描述 我写过的最长的sql语句,求大神指点, SELECT t. NAME AS pro_name sum( ( SELECT IFNULL(COUNT(p.id) 0) AS before_year_pro_num FROM project_info p LEFT JOIN project_size s ON p.id = s.projectInfo_id WHERE ( DATE_FORMAT( ( SELECT MIN(s.start_time) FROM project_size W

sql语句优化,很着急,在线等,sql如下

问题描述 sql语句优化,很着急,在线等,sql如下 SELECT t1.user_id AS user_id, t1.user_name AS user_name, t1.serv_num AS serv_num, t1.create_date AS create_date, t1.connect_type AS connect_type, t1.login_device AS login_device, t1.login_time AS login_time, ( SELECT timest

sql server-求助!!::SQL语句查询求改正!!

问题描述 求助!!::SQL语句查询求改正!! 我有一个SQL Server表,表明为:EvaluateTeacherGrade 运行效果如下图: 问题1:我想查询得到所有courseID=200002和teacherID=22222001的相关数据表.我用如下SQL语句查询获得的表count应该等于108才对,但是为什么等?? SQL语句如下所示: select C.courseID,C.courseName,C.teacherID,C.teacherName,Count(e.Grade) A

秋色园QBlog技术原理解析:性能优化篇:打印页面SQL,全局的SQL语句优化(十三)

文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 3: 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三) --介绍如何实现无后缀URL 4: 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四) --介绍URL如何定位到处理程序 5: 秋色园QBlog技术原理解析:Module之页面基类设计(五) --介绍创建

SQL语句优化

前一段时间一直在优化系统,看了一些关于SQL语句优化的东西,在这里分享一下. 1.统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. select*from dual select*From dual 其实就是大小写不同,查询分析器就认为是两句不同的SQL语句,必须进行两次解析.生成2个执行计划.所以作为程序员,应该保证相同的查询语句在任何地方都一致,多一个空格都不行! 2.使用"临时表"暂存中间结果 简化SQL语句的重要方法就是采用临时表

信息-跪等大神——SQL语句优化

问题描述 跪等大神--SQL语句优化 这个语句如何优化跪等: select A0188,A0190,A0101,cast(dp.dept_code as int) as a01depcode,A0177,case when A0107='男' then 2 else 3 end as sex,A0117,A0159,A0148,MobileTel,A01069,A01071,GW_NAME,case when A0191='在职人员' then 9 else 7 end as a0191 fro