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

Registered : 107,536

HOME > PHP > PHP Forum > ขอคำแนะนำ ติดปัญหาเวลา insert ข้อมูลจำนวน 500 รายการ ใช้เวลานานมาก กว่า 30 นาที มีวิธีลดเวลาไหมครับ





 

ขอคำแนะนำ ติดปัญหาเวลา insert ข้อมูลจำนวน 500 รายการ ใช้เวลานานมาก กว่า 30 นาที มีวิธีลดเวลาไหมครับ

 



Topic : 121687



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



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




ขอคำแนะนำ ติดปัญหาเวลา insert ข้อมูลจำนวน 500 รายการ ใช้เวลานานมาก กว่า 30 นาที มีวิธีลดเวลาไหมครับ โค๊ตที่ใช้แบบนี้ครับ

<?php
ob_start();
session_start();   

mysql_connect("localhost","bpworld_root","root");
mysql_select_db("bpworld_opencart");
mysql_query("SET NAMES UTF8");

$strSQL1 = "SELECT * FROM user WHERE userid = '".$_SESSION['userid']."' ";    
$objQuery1 = mysql_query($strSQL1);  
$objResult = mysql_fetch_array($objQuery1);

echo $_POST["toshop"];

	//เช็คว่าโอนสินค้าหรือยังถ้าโอนแล้วสั่งให้ออก
    for($i=1;$i<=$_POST["hdnLine"];$i++)  
  {
	  
	  $strCHECK = "SELECT * FROM  checkstock WHERE shopcode = '".$_GET["shopcode"]."' AND productid = '".$_POST["productid$i"]."'";  
$objQueryCHECK = mysql_query($strCHECK);    
$objResultCHECK = mysql_fetch_array($objQueryCHECK);

break;}
  
   if($objResultCHECK["status"] == 'Y')
   {
	echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";
	echo "<script>alert('รายการนี้ได้โอนสินค้าเข้าคลัง BP ก่อนหน้านี้แล้ว');</script>";
	echo "<meta http-equiv='refresh' content='3 ;url= waittranfer.php?'>";
   }
     
	 
	 else
	 {

  for($i=1;$i<=$_POST["hdnLine"];$i++)  
  {  
	
		  $total= $_POST["qty$i"]*$_POST["price$i"];
		  ini_set('max_execution_time', 0); //300 seconds = 5 minutes
			  $strSQL = "
				INSERT INTO stdrecord (date,docnum,shopcode,productid,stdprice,stdqty,total,type,who)
				VALUES
				('".date("Y-m-d H:i:s")."','".$_GET["docnum"]."','".$_GET["shopcode"]."','".$_POST["productid$i"]."','".$_POST["price$i"]."','".$_POST["qty$i"]."','".$total."','r','".$_POST["toshop"]."') 
			  ";
			  mysql_query($strSQL) or die(mysql_error());
			  
			
        $result = mysql_query("update product set qty = qty + '".$_POST["qty$i"]."' where ProductID = '".$_POST["productid$i"]."'");
		$resultms = mysql_query("update ms set actqty = actqty - '".$_POST["qty$i"]."' where shopcode='".$_GET["shopcode"]."' AND  productid = '".$_POST["productid$i"]."'");
		
		$strCHECKms = "SELECT * FROM  ms WHERE shopcode = '".$_POST["toshop"]."' AND productid = '".$_POST["productid$i"]."'";  
		$objQueryCHECKms = mysql_query($strCHECKms);    
		$objResultCHECKms = mysql_fetch_array($objQueryCHECKms);

        if($objResultCHECKms["productid"] !="")
   		{

		$resultoshop = mysql_query("update ms set actqty = actqty + '".$_POST["qty$i"]."' where shopcode='".$_POST["toshop"]."' AND  productid = '".$_POST["productid$i"]."'");
		}
		else
		{
			//insert new to ms
			$strSQLnew = "
				INSERT INTO ms (shopcode,productid,actqty,price)
				VALUES
				('".$_POST["toshop"]."','".$_POST["productid$i"]."','".$_POST["qty$i"]."','".$_POST["price$i"]."') 
			  ";
			  mysql_query($strSQLnew) or die(mysql_error());
		}
		
		$resultcheckstock = mysql_query("update  checkstock set status = 'Y' where shopcode='".$_GET["shopcode"]."' AND  productid = '".$_POST["productid$i"]."'");
		
  }
  $docnum=$_GET["docnum"];
  $shop=$_POST["toshop"];
  
    echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";
	echo "<script>alert('ดำเนินการโอนสินค้าเข้าคลัง $shop เรียบร้อย เลขที่ $docnum');</script>";
	echo "<meta http-equiv='refresh' content='3 ;url= waittranfer.php?'>";
	
 }

mysql_close();

//session_destroy();


//$urlback = $patern.$link.$title.$link2.$shopname;


//header("location:waittranfer.php");
?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-03-01 14:08:06 By : sranuwat View : 295 Reply : 5
 

 

No. 1



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



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


ok ได้แลวครับ ใช้วิธีหนด index ให้กับตารางทุกตารางครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-01 15:42:07 By : sranuwat
 


 

No. 2



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

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

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

ดูพวก PK ด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-01 16:30:30 By : mr.win
 

 

No. 3



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



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


PK คืออะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-01 16:45:06 By : sranuwat
 


 

No. 4



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



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


ใช้ PRIMARY KEY ใหมครับ ผมกำหนด index คนละตัวกับ PRIMARY KEY ไม่น่าจะมีปัญหาใช่ไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-01 16:47:34 By : sranuwat
 


 

No. 5



โพสกระทู้ ( 7,885 )
บทความ ( 1 )



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


การ insert ยิ่งไม่มี index ยิ่งเร็ว

แต่ที่ช้า เพราะมีการ update คั่นอยู่ ซึ่งการ update ต้องอ้างอิง index ถึงจะเร็ว

PK = Primary Key
FK = Foreign Key
UK = Unique Key


ประวัติการแก้ไข
2016-03-01 18:08:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-01 18:06:51 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอคำแนะนำ ติดปัญหาเวลา insert ข้อมูลจำนวน 500 รายการ ใช้เวลานานมาก กว่า 30 นาที มีวิธีลดเวลาไหมครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

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