sql语句查询很慢,如何解决? 5

Adodc1.RecordSource="select费用类别,主管医生,SUM(数量*单价)AS金额from储值卡明细,住院_安排医生WHERE储值卡明细.住院号=住院... Adodc1.RecordSource = "select 费用类别,主管医生,SUM(数量*单价) AS 金额 from 储值卡明细,住院_安排医生 WHERE 储值卡明细.住院号=住院_安排医生.住院号 and 日期>='" & DTPicker1(0).Value & "' AND 日期<='" & DTPicker1(1).Value & "' GROUP BY 费用类别,主管医生 ORDER BY 费用类别,主管医生"

Adodc1.RecordSource = "select 费用类别,姓名,SUM(数量*单价) AS 金额 from 住院_病人入院登记表,住院_病人档案表,储值卡明细 WHERE 住院_病人入院登记表.档案号=住院_病人档案表.档案号 and 住院_病人入院登记表.住院号=储值卡明细.住院号 and 日期>='" & DTPicker1(0).Value & "' AND 日期<='" & DTPicker1(1).Value & "' GROUP BY 费用类别,姓名 ORDER BY 费用类别,姓名"

上面两条语句,第一条查询很慢,大概要20秒.而第二条涉及的表有三个,查询速度只要几秒,请问各位大师是什么原因呢?
展开
 我来答
micro0369
2014-11-09 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3998万
展开全部
日期列 有索引吗?
储值卡明细 表 的列: 住院号
住院_安排医生 的 列: 住院号

都有索引吗?

没有的话,加上
追问
日期列和住院号都有索引,而且其他几条语句也都用到日期列来查询啊.
追答
你再仔细确认一下索引,

数据查询的快慢和数据量、索引、sql写法、有无缓存 都有关系。

你这几个表之间的关系是什么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式