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 มันช้าผิดปกติน่ะค่ะ... COM("ADODB.Connection") + SQL Server



 

อยากถามพี่ๆเรื่อง การ Query มันช้าผิดปกติน่ะค่ะ... COM("ADODB.Connection") + SQL Server

 



Topic : 062042



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



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




Code (PHP)
function consumption($year,$month,$goodid)
{
		
	include("../adodb5/adodb.inc.php");
	include("../config_DB.php");
	
	$conditionDate=date("F Y");

	$conditionDate1=strtotime("$conditionDate");
	
	if ($month==1){$Mth=strtotime("january $year");}
	if ($month==2){$Mth=strtotime("february $year");}
	if ($month==3){$Mth=strtotime("march $year");}
	if ($month==4){$Mth=strtotime("april $year");}
	if ($month==5){$Mth=strtotime("may $year");}
	if ($month==6){$Mth=strtotime("june $year");}
	if ($month==7){$Mth=strtotime("july $year");}
	if ($month==8){$Mth=strtotime("august $year");}
	if ($month==9){$Mth=strtotime("september $year");}
	if ($month==10){$Mth=strtotime("october $year");}
	if ($month==11){$Mth=strtotime("november $year");}
	if ($month==12){$Mth=strtotime("december $year");}
	
	
		$strConn = new COM("ADODB.Connection") or die("Cannot start ADO");
		$strConn->Open("PROVIDER=".$myDriver.";SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB1); 
		
		$strSQL = "select sum(goodqty2) as goodqty22
		from soinvhd left outer join soinvdt on soinvhd.soinvid = soinvdt.soinvid 
		where soinvhd.docutype=107 and  soinvdt.goodid='$goodid' and NOT soinvhd.docustatus='C' 
		and  MONTH(docudate) = $month  AND YEAR(docudate) = $year ";

		$objRec = new COM("ADODB.Recordset");
		$objRec->Open($strSQL, $strConn, 1,4);
			
			While (!$objRec->EOF)
				{
				$monthA = $objRec->Fields["goodqty22"]->Value;
				$objRec->MoveNext();
				}
				
		
				
			$sumMonth=$monthA;

				if($conditionDate1 >= $Mth)
				{ 
				if(empty($sumMonth) or  $sumMonth==0){$sumMonth="<img src='../icon/don.gif' align='middle'>";} 
				else{$sumMonth="<Div align='center'>". number_format($sumMonth)."</DIV>";} 
				echo "$sumMonth";
				}
				else{echo"<img src='../icon/no1.png' align='middle'>";}
				
		$sumMonth=0;
		$objRec=0;
		$strConn=0;
		$objRec=null;
		$$strConn=null;
}
?>


จาก Code น่ะค่ะ คือ ถ้าหนูวนลูป ส่งค่า goodid มาประมาณ 100 ตัว หนูต้องใช้เวลา 20 กว่านาที หนูก็พยายามค้นหาวิธิการแก้ไข
ก็เลยไปเจอบทความเกี่ยวกับการใช้ค่า Index ในการ query แต่หนูก็ยังไม่ค่อยเข้าใจน่ะค่ะ หนูไม่รู้จะเอาคุณสมบัตินี้มาใช้ยังไงค่ะ

อันนี้คือ database หนูค่ะ

soinvhd
db1



soinvdt
db2

ช่วยแนะนำหน่อยนะคะ



Tag : PHP, Ms SQL Server 2005







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-06-22 13:26:44 By : naked13 View : 23343 Reply : 18
 

 

No. 1

Guest


Code
$strSQL = "select sum(goodqty2) as goodqty22
from soinvhd left outer join soinvdt on soinvhd.soinvid = soinvdt.soinvid
where soinvhd.docutype='107' and soinvdt.goodid='$goodid' and soinvhd.docustatus <> 'C'
and MONTH(docudate) = '$month' AND YEAR(docudate) = '$year' ";


ลองดู






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 14:12:05 By : ลองดู
 


 

No. 2



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



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


ไม่หายค่ะ คิดไม่ออกแล้วอ่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 14:20:31 By : naked13
 

 

No. 3



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



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


ใครก็ได้มาช่วยแนะนำทีค่ะ คิดไม่ออกจริงๆ
ถ้าตัด function นี้ออก หน้าเว็บโหลดเร็วมากๆค่ะ เลยคิดว่าน่าจะเป็นเพราะ function อ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 15:04:48 By : naked13
 


 

No. 4



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



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


แต่ใช้ Query ใน SQL Query Analyzer(SQL 2000) ใช้เวลา แค่ 2 วิเอง งงๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ

คิดว่ามันเกิดจากสาเหตุใดคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 16:42:50 By : naked13
 


 

No. 5



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

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

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

สงสัยได้เปลี่ยนไปใช้ mssql แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 16:50:06 By : webmaster
 


 

No. 6



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



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


พี่วิน ตอนนี้ก็ใช้ MSSQL อยู่ค่ะ
Query ใน Tool ของ MSSQL ใช้เวลาแป็บเดียว 2 วิ
แต่เวลาเขียน Code ดึงข้อมูล มันข้าเกือบ 5 นาทีแนะพี่

จนหัวหน้าบ่นแล้วบ่นอีก เหนื่อยใจ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 16:57:06 By : naked13
 


 

No. 7



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

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

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

Quote:
$strConn = new COM("ADODB.Connection") or die("Cannot start ADO");


หมายถึงเรียกผ่าน COM แล้วช้าน่ะครับ อาจจะลองเปลี่ยนไปใช้ function mssql แทนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 17:11:23 By : webmaster
 


 

No. 8



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



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


คือ หนูลอง function ของ MSSQL แล้วค่ะพี่ มันช้าเหมือนกัน หนูเลยลองหันมาใช้ ADOdb ตอนแรกคิดว่าจะได้ผล
แต่ปรากฏว่า ใช้เวลาต่างกันไม่มากค่ะพี่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 17:14:10 By : naked13
 


 

No. 9



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

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

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

Database Server อยู่เครื่องเดียวกันหรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 17:15:22 By : webmaster
 


 

No. 10



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



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


อยู่เครื่องเดียวกันค่ะ

หนูคิดว่าน่าจะเกิดจากการออกแบบโปรแกรมผิดรึเปล่านะ

เพราะหลักการทำงานของโปรแกรมนี้ คือ GoodID 1 ค่า ต้องหาค่าทั้ง 12 เดือน
และ สมมุติว่า เมื่อ GoodID ส่งค่า มา 10 ตัว เพื่อส่งเข้า Function ก็จะเท่ากับ function ต้องทำงาน (12 x 10) ซึ่งมีค่าเท่ากับ 120 ครั้ง ที่ function นี้ต้องทำงาน

ยิ่งคิดยิ่งตัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 17:28:45 By : naked13
 


 

No. 11



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

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

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

ก็เพิ่งบอกเองไม่ใช่เหรอครับ ว่าทำใน Query Analyzer แล้วเร็ว

หรือไม่ลองใช้ exit(); แล้ว refresh ไล่ไปทีล่ะบรรทัดดูครับ ว่ามันช้าตรงไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 17:35:58 By : webmaster
 


 

No. 12



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



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


ขอบคุณค่ะ พี่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 21:32:12 By : naked13
 


 

No. 13



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

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

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

แก้ไขได้หรือยังครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-23 22:46:42 By : webmaster
 


 

No. 14



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



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


ได้แล้วค่ะพี่ ขอบตุณมมากค่ะ

จริงๆแล้ว มันแค่กระบวนการคิดของหนูมันตื้นไปน่ะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-23 23:48:01 By : naked13
 


 

No. 15



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

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

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

ตกลงช้าเพราะอะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-24 17:20:49 By : webmaster
 


 

No. 16



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



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


ตามเคสแรกของกระทู้นี้เลยค่ะะพี่

http://www.mindphp.com/modules.php?name=News&file=article&sid=108
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-24 17:40:53 By : naked13
 


 

No. 17



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

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

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

สรุปก็คือช้าเพราะ Query
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-24 17:46:56 By : webmaster
 


 

No. 18



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



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


เห่อๆ อายจัง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-24 18:02:09 By : naked13
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากถามพี่ๆเรื่อง การ Query มันช้าผิดปกติน่ะค่ะ... COM("ADODB.Connection") + SQL 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 05
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 อัตราราคา คลิกที่นี่