求一条数据库查询语句,要效率高!解决办法
程序员文章站
2024-04-04 20:19:35
...
求一条数据库查询语句,要效率高!!
现有一张表,结构数据如下:
OrderNo State
----------------
00001 1
00001 0
00002 1
00003 1
00004 0
这张表表示一个订单中的订单记录状态,一个订单可能有多个订单记录,State为1为成功,非1为失败
现在要做这样一个统计
统计订单的成功数(不包括失败的)
我写了这样一个语句
select orderno from thistable where orderno not in (select orderno from thistable where state=0)
可是,这语句好像效率太差,数据量大的时候,执行非常慢,所以想请高手指教一个效率比较高的方法,谢谢!
------解决方案--------------------
既然要效率高,不光跟SQL有关系,State字段也要建立索引
现有一张表,结构数据如下:
OrderNo State
----------------
00001 1
00001 0
00002 1
00003 1
00004 0
这张表表示一个订单中的订单记录状态,一个订单可能有多个订单记录,State为1为成功,非1为失败
现在要做这样一个统计
统计订单的成功数(不包括失败的)
我写了这样一个语句
select orderno from thistable where orderno not in (select orderno from thistable where state=0)
可是,这语句好像效率太差,数据量大的时候,执行非常慢,所以想请高手指教一个效率比较高的方法,谢谢!
------解决方案--------------------
既然要效率高,不光跟SQL有关系,State字段也要建立索引
相关文章
相关视频