คำสั่งได้มาจาก show sql trace windows ที่ได้จากหน้าจอนัดแพทย์ จะใช้เวลา นานมาก
Date Time Type Exec Time SQL Text 53-10-24 12:00:51.296 SQL 9,125
select o.oapp_id,o.vstdate,v.vsttime,o.nextdate,o.nexttime,c.name as clinic_name ,
d.name as doctor_name,o.app_user,o.app_cause,o.contact_point,count(v2.vn) as visit_count
from oapp o
left outer join ovst v on v.vn=o.vn
left outer join clinic c on c.clinic=o.clinic
left outer join doctor d on d.code=o.doctor
left outer join ovst v2 on v2.vstdate = o.nextdate where o.hn='0008874'
group by o.oapp_id,o.vstdate,v.vsttime,o.nextdate,o.nexttime,c.name ,
d.name ,o.app_user,o.app_cause,o.contact_point order by o.vstdate desc
และผมก็ลองแก้คำสั่ง เป็น
select o.oapp_id,o.vstdate,v.vsttime,o.nextdate,o.nexttime,c.name as clinic_name ,
d.name as doctor_name,o.app_user,o.app_cause,o.contact_point,count(v2.vn) as visit_count
from oapp o
left outer join ovst v on o.vn=v.vn and o.hn = v.hn
left outer join clinic c on o.clinic=c.clinic
left outer join doctor d on o.doctor=d.code
left outer join ovst v2 on v2.vstdate = o.nextdate where o.hn='0008874'
group by o.oapp_id,o.vstdate,v.vsttime,o.nextdate,o.nexttime,c.name ,
d.name ,o.app_user,o.app_cause,o.contact_point order by o.vstdate desc
จะใช้เวลาในการประมวลผลเร็วขึ้นมากเลยครับ แค่ปรับ 3 บรรทัดที่จากสีเขียวเป็นสีแดงหน่ะครับ
อาจารย์ช่วยแก้ให้หน่อยได้ไหมครับ ปัญหานี้ผมเป็นมานานมากแล้วแก้ไม่หายสักทีห้องตรวจหมอต้องใช้เวอร์ชั่น ปี 50 อยู่เลย หรือมีวิธีแก้ไขยังไงบ้างครับ ตอนนี้ อัพเป็นเวอร์ชั่นล่าสุดแล้ว แต่ห้องหมอต้องใช้เวอร์ชั่นเดิม หมอเขาอยากเปลี่ยนมาใช้เวอร์ชั่นใหม่ด้วยครับ เพราะมันมีการทำงานที่ละเอียดและมีตัวช่วยมากขึ้น ยังไงช่วยพิจารณาด้วยครับ ขอบพระคุณอย่างยิ่งครับ