以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于SQL语句的效率问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=144419)

--  作者:ap9709130
--  发布时间:2019/12/19 13:54:00
--  关于SQL语句的效率问题
 老师

       我现在在做的一个项目,把订单表动态下载出来. 我用的SQL语句每次都要 40多秒,一直不知道为什么会这么慢. 也就是3000左右条件订单明细.

       后来我一个列,一个列的来找问题.发现如果不加上计算金额的SQL语句, 也就是 2秒以内.但是如果加上的金额,就会变成 40秒以上.怎么会相差这么大?

       sql 语句如下:
 s el ect 列名 fr om {ddb}  wh e re 条件  这个下载的时间一般是:1.1秒

  se le ct 列名 , Round(产品数量*产品价格,2) as 金额 from {ddb} where 条件

为什么只加了一个这么简单的计算,时间会相差这么多,这种情况一般要怎么优化 ? 多谢!

--  作者:有点蓝
--  发布时间:2019/12/19 14:31:00
--  
sql里使用函数会导致全表扫描,也就是不会使用索引。

1、可以把函数去掉,然后到表格列属性里设置
2、试试把sql做成视图,再使用