mysql 执行后 sending data 占用时间82% 的时间 总耗时要3秒左右,关键是我是在NetBeans中关联这个视图

不可能每次执行程序都要等3秒。SELECT`pd`.`id`AS`id`,`pd`.`Service_number`AS`Service_number`,`pd`.`pr... 不可能每次执行程序都要等3秒。

SELECT
`pd`.`id` AS `id`,
`pd`.`Service_number` AS `Service_number`,
`pd`.`project_date` AS `project_date`,
`pd`.`project_name` AS `project_name`,
`pd`.`Responsible_project` AS `Responsible_project`,
`pd`.`Business_units` AS `Business_units`
FROM
`project_detail` `pd`
WHERE
NOT
EXISTS(
SELECT
1
FROM
`project_detail`
WHERE
`project_detail`.`Service_number` = `pd`.`Service_number`
AND
`project_detail`.`project_date` > `pd`.`project_date`)
展开
 我来答
JerryShang0226
2014-08-09 · TA获得超过1844个赞
知道小有建树答主
回答量:1039
采纳率:86%
帮助的人:192万
展开全部
你的sql逻辑是:如果不存在(服务号相同 且 时间不同)的数据,则把表里所有数据统统拿出。
你看下我说的sql逻辑是否有错?

看这个表的名字我感觉这个表不会太小,你的sql一次性就要拿全表的数据,这个数据集应该很大sending data时间长是肯定的了。

我有3个建议,你参考下:
1、在where条件中加入更多条件减少返回数据。例如加个日期限制
2、在select后面加上:HIGH_PRIORITY 关键字提高语句优先级
3、用explain分析下语句,看下data、number等字段索引是不是工作正常
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式