Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนดู Query หน่อยครับว่ามันช้าเพราะอะไร พอดีเครื่องผมrunได้แต่พออัพขึ้น server แล้วมันไม่แสดง



 

รบกวนดู Query หน่อยครับว่ามันช้าเพราะอะไร พอดีเครื่องผมrunได้แต่พออัพขึ้น server แล้วมันไม่แสดง

 



Topic : 062788

Guest




Code (SQL)
SELECT *,
(SELECT
SUM(IF(T2.CostNormal_Unit&&T2.CostNormal_SecUnit&&T2.CostNormal_Cost,
((T2.CostNormal_Unit*T2.CostNormal_Cost)*T2.CostNormal_SecUnit),
IF(T2.CostNormal_Unit&&T2.CostNormal_Cost,(T2.CostNormal_Unit*T2.CostNormal_Cost),
IF(T2.CostNormal_SecUnit&&T2.CostNormal_Cost,(T2.CostNormal_SecUnit*T2.CostNormal_Cost),
T2.CostNormal_Cost)
)
)) AS Total
FROM budget_project_cost_mapsubactivity AS T1
INNER JOIN budget_project_cost_subactivity_normal AS T2
ON T1.MapActCost_Id = T2.MapActCost_Id AND T2.CostNormal_Phrase = 1
WHERE T1.SubActivity_Id IN(SELECT A.SubActivity_Id FROM budget_project_activity_sub AS A INNER JOIN budget_project_activity AS B ON A.Activity_Id = B.Activity_Id WHERE B.Project_Id IN (T1.Project_Id))) AS SumCost1,
(SELECT
SUM(IF(T2.CostNormal_Unit&&T2.CostNormal_SecUnit&&T2.CostNormal_Cost,
((T2.CostNormal_Unit*T2.CostNormal_Cost)*T2.CostNormal_SecUnit),
IF(T2.CostNormal_Unit&&T2.CostNormal_Cost,(T2.CostNormal_Unit*T2.CostNormal_Cost),
IF(T2.CostNormal_SecUnit&&T2.CostNormal_Cost,(T2.CostNormal_SecUnit*T2.CostNormal_Cost),
T2.CostNormal_Cost)
)
)) AS Total
FROM budget_project_cost_mapsubactivity AS T1
INNER JOIN budget_project_cost_subactivity_normal AS T2
ON T1.MapActCost_Id = T2.MapActCost_Id AND T2.CostNormal_Phrase = 2
WHERE T1.SubActivity_Id IN(SELECT A.SubActivity_Id FROM budget_project_activity_sub AS A INNER JOIN budget_project_activity AS B ON A.Activity_Id = B.Activity_Id WHERE B.Project_Id IN (T1.Project_Id))) AS SumCost2,
(SELECT
SUM(IF(T2.CostNormal_Unit&&T2.CostNormal_SecUnit&&T2.CostNormal_Cost,
((T2.CostNormal_Unit*T2.CostNormal_Cost)*T2.CostNormal_SecUnit),
IF(T2.CostNormal_Unit&&T2.CostNormal_Cost,(T2.CostNormal_Unit*T2.CostNormal_Cost),
IF(T2.CostNormal_SecUnit&&T2.CostNormal_Cost,(T2.CostNormal_SecUnit*T2.CostNormal_Cost),
T2.CostNormal_Cost)
)
)) AS Total
FROM budget_project_cost_mapsubactivity AS T1
INNER JOIN budget_project_cost_subactivity_normal AS T2
ON T1.MapActCost_Id = T2.MapActCost_Id AND T2.CostNormal_Phrase = 3
WHERE T1.SubActivity_Id IN(SELECT A.SubActivity_Id FROM budget_project_activity_sub AS A INNER JOIN budget_project_activity AS B ON A.Activity_Id = B.Activity_Id WHERE B.Project_Id IN (T1.Project_Id))) AS SumCost3,
(SELECT CONCAT(FirstName,' ',LastName) FROM tbluser WHERE UserId = T1.Create_by) AS Author,
PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM Stop),EXTRACT(YEAR_MONTH FROM Start))+ 1 AS Period
FROM(SELECT B.*,
(SELECT S.Status_Description FROM budget_init_status AS S WHERE LOWER(B.Project_Status) = LOWER(S.Status_Key)) AS StatusDescription,
B.Project_Start_Year AS StartYear,
B.Project_Start_Month AS StartMonth,
B.Project_End_Month AS StopMonth,
STR_TO_DATE(CONCAT((B.Project_Start_Year - 543),',',B.Project_Start_Month,',','1'), '%Y,%m,%d') AS Start,
STR_TO_DATE(CONCAT((B.Project_End_Year - 543),',',B.Project_End_Month,',','1'), '%Y,%m,%d') AS Stop,
BB.BPI_Name,
IF(BBB.ShortName,CONCAT(BBB.Organize,' ','(',BBB.ShortName,')'),BBB.Organize) AS OrgName,
BBB.ShortName
FROM budget_project AS B
INNER JOIN budget_plan_item AS BB ON BB.BPI_Id = B.BPI_Id
LEFT JOIN tblorganize AS BBB ON BBB.OrganizeId = B.OrganizeId
) AS T1



ปัญหามีอยู่ว่าQueryนี้พอใส่ในเครื่องผมมันแสดงผลลัพท์แต่พออัพขึ้น server มันกลับไม่แสดง
พอลองcopy มันมา run ข้างนอกในdatabaseปรากฎว่าใช้เวลานานพอสมควร เป็นนาทีได้ พอลอง set ใน php.ini
ให้เวลา execute นานขึ้นก็ยังไม่หาย ไม่ทราบควรทำไงดีครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-07-06 10:55:37 By : Ptolemy View : 18504 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

น่าจะเป็นที่ Query หนักครับ แก้ php.ini ก็ไม่หายครับ วิธีแก้ไขก็คือการปรับจูนตัว SQL Statement นี่แหละครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-06 11:11:13 By : webmaster
 


 

No. 2



โพสกระทู้ ( 516 )
บทความ ( 0 )



สถานะออฟไลน์


server เป็น linux ป่าวครับ

ลองปรับไฟล์ my ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-06 14:26:30 By : avsqlz
 

 

No. 3



โพสกระทู้ ( 768 )
บทความ ( 0 )



สถานะออฟไลน์


เท่าที่ดูคิวรี่แบบผ่านก็ ไม่น่าแปลกหรอกครับที่มันจะช้า
ที่ผมเคยทำนะครับ ถ้าหน้าไหนที่มีการคิวรี่ข้อมูลเยอะ ต้องการข้อมูลจากหลายตาราง ผมจะไม่ join ทั้งหมด
แต่จะดึงมาเป้นส่วนๆ แล้วค่อยมาจัดการใน PHP อีกครั้งนึง อันนี้พอช่วยได้ ลองดูว่าของคุณมันจะแยกกันคิวรี่ได้หรือเปล่า
บางทีคิวรี่ย่อยๆ หลายทีเอา มันจะเร็วกว่า คิวรี่ใหญ่ที่เดียว เป็นประสบการณ์ส่วนตัวนะครับ

เพิ่มเติมอีกนิดนึงนะครับ ถึงแม้ว่าคุณจะไปปรับแก้ใน mysql หรือว่า php.ini ให้สามารถรันคิวรี่นี้ผ่านแล้วลองนึกดูนะครับว่านึ่ขนาดคุณเข้ามาดึงข้อมูลแค่คนเดียว ถ้าเกิดเปิดใช้งานจริงยูสเซอร์เข้ามาใช้งานหน้านี้พร้อมๆ กันเยอะๆ ที่นี้ละตัว DB Server ของคุณจะทำงานหนัก


ประวัติการแก้ไข
2011-07-06 14:52:40
2011-07-06 14:52:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-06 14:48:12 By : naskw
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Query กับข้อมูลขนาดใหญ่ เป็นปัญหากับหลาย ๆ ระบบที่เขียน Query ไม่ค่อยดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-06 15:06:37 By : webmaster
 


 

No. 5



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

ยิ่งจอยยิ่งช้าคับ มันจำทำการสร้าง ตารางเสมือน ไว้ใน เมมโมรี่ แต่คิวรี่ยาวขนาดนี้ เพิ่งเคยเห็น

น่าจะใช้ Database แบบไม่ relation นะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-06 15:09:32 By : pjgunner.com
 


 

No. 6

Guest


ขอบคุณทุกคำตอบครับ จะลองไปปรับแก้ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-07 10:04:19 By : ptolemy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนดู Query หน่อยครับว่ามันช้าเพราะอะไร พอดีเครื่องผมrunได้แต่พออัพขึ้น server แล้วมันไม่แสดง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่