1、 我們需要接收一個(gè)外部的訂單,而這個(gè)訂單號是不允許重復(fù)的

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),棲霞網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:棲霞等地區(qū)。棲霞做網(wǎng)站價(jià)格咨詢:028-86922220
2、 數(shù)據(jù)庫對外部訂單號沒有做唯一性約束
3、 外部經(jīng)常插入相同的訂單,對于已經(jīng)存在的訂單則拒絕處理
對于這個(gè)需求,很簡單我們會(huì)用下面的代碼進(jìn)行處理(思路:先查找數(shù)據(jù)庫,如果數(shù)據(jù)庫存在則直接退出,否則插入)
package com.yhj.test;
import com.yhj.dao.OrderDao;
import com.yhj.pojo.Order;
/**
* @Description:并發(fā)測試用例
* @Author YHJ create at 2011-7-7 上午08:41:44
* @FileName com.yhj.test.TestCase.java
*/
public class TestCase {
/**
* data access object class for deal order
*/
private OrderDao orderDao;
/**
* @Description:插入測試
* @param object 要插入的object實(shí)例
* @author YHJ create at 2011-7-7 上午08:43:15
* @throws Exception
*/
public void doTestForInsert(Order order) throws Exception {
Order orderInDB = orderDao.findByName(order.getOrderNo());
if(null != orderInDB)
throw new Exception("the order has been exist!");
orderDao.save(order);
}
}
并發(fā)指的是:相同的時(shí)間內(nèi),能處理更多的請求。
所以,解決方案就是優(yōu)化請求的響應(yīng)時(shí)間。
一般來說,最慢的在數(shù)據(jù)庫處理。首先優(yōu)化數(shù)據(jù)庫sql、其次優(yōu)化數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)、再次優(yōu)化程序代碼邏輯、最后優(yōu)化業(yè)務(wù)邏輯。
這些搞定之后,就需要其他東西配合。比如nosql,將數(shù)據(jù)庫熱查詢放入內(nèi)存緩存,將數(shù)據(jù)庫并發(fā)寫入用隊(duì)列。
最后就是硬件了,數(shù)據(jù)庫主從差不多了。
把復(fù)選框的值作為參數(shù)提交,作為循環(huán)的次數(shù)
$s1 = $_POST['s1'];//獲取樣品數(shù)量
for($i = 1; $i=$s1; $i++){
$tmp = $_POST['smp'.$i]; //這里是對應(yīng)循環(huán)中的文本框name屬性
$sql = "insert into 表名(字段....) values('樣品名',數(shù)量)";
mysql_query($sql,$conn);
}
這樣寫,能看明白么?
本文實(shí)例講述了PHP實(shí)現(xiàn)的pdo連接數(shù)據(jù)庫并插入數(shù)據(jù)功能。分享給大家供大家參考,具體如下:
創(chuàng)建配置文件
pdo_config.php
?php
$db_Type
=
"mysql";//數(shù)據(jù)庫類型
$host
=
"localhost";//主機(jī)名
$dbName
=
"test";//數(shù)據(jù)庫名
$userName
=
"root";//用戶名
$password
=
"root";//密碼
$dsn
=
"{$db_Type}:host={$host};dbname={$dbName}";
?
pdo插入數(shù)據(jù)庫
pdo_insert.php
?php
header('Content-type:text/html;
charset=utf-8');
require
'pdo_config.php';
try{
$pdo
=
new
PDO
($dsn,$userName,$password);//創(chuàng)建一個(gè)連接對象
$pdo-exec('set
names
utf8');//設(shè)置編碼
$sql
=
"INSERT
student
(name,email)
VALUES
('李四','123@qq.com')";
$pdo-exec($sql);
}catch
(PDOException
$e){
die('操作失敗'.$e-getMessage());
}
//關(guān)閉連接
$pdo
=
null;
?
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+mysqli數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:關(guān)于php連接mssql:pdo
odbc
sql
serverPHP5中使用PDO連接數(shù)據(jù)庫的方法PHP中PDO連接數(shù)據(jù)庫中各種DNS設(shè)置方法小結(jié)ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作示例PHP使用ODBC連接數(shù)據(jù)庫的方法tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2數(shù)據(jù)庫示例【基于thinkPHP5.1框架】tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法thinkPHP5實(shí)現(xiàn)數(shù)據(jù)庫添加內(nèi)容的方法tp5(thinkPHP5)框架數(shù)據(jù)庫Db增刪改查常見操作總結(jié)PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫示例【基于ThinkPHP5.1搭建的項(xiàng)目】
分享名稱:php并發(fā)插入數(shù)據(jù)庫 php如何處理并發(fā)
網(wǎng)站路徑:http://www.chinadenli.net/article26/dddpecg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、定制網(wǎng)站、、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)