成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

PHP優化之批量操作MySQL實例分析

瀏覽:159日期:2022-09-10 16:45:59

本文實例講述了PHP優化之批量操作MySQL。分享給大家供大家參考,具體如下:

設計一個數據表如下:

create table optimization( id INT NOT NULL AUTO_INCREMENT, value VARCHAR(10) NOT NULL, PRIMARY KEY(id));

現在有一個業務需求需要批量插入數據。

先來看看下面這一段代碼:

<?php $dsn = ’mysql:dbname=test;host=127.0.0.1’; $user = ’root’; $password = ’root’; try { $dbh = new PDO($dsn, $user, $password); } catch(PDOException $e) { echo ’Connection failed: ’ , $e->getMessage(); } $begin = microtime(true) * 1000; $count = 100; $stmt = $dbh->prepare(’INSERT INTO `optimization` (id, value) VALUES(:id, :value)’); $stmt->bindParam(’:id’, $id); $stmt->bindParam(’:value’, $value); for ($i = 0; $i < $count; $i++) { $id = ’’; $value = $i; $stmt->execute(); } $end = microtime(true) * 1000; echo ’excuted : ’ , ($end - $begin) , ’ ms’;

經過測試,上面代碼運行結果如下:

1、excuted : 7601.4348144531 ms

2、excuted : 7476.4270019531 ms

3、excuted : 7674.4387207031 ms

平均:7584.100179036433 ms

再來看看第二段代碼:

<?php $dsn = ’mysql:dbname=test;host=127.0.0.1’; $user = ’root’; $password = ’root’; try { $dbh = new PDO($dsn, $user, $password); } catch(PDOException $e) { echo ’Connection failed: ’ , $e->getMessage(); } $begin = microtime(true) * 1000; $dbh->beginTransaction(); try { $count = 100; $sql = ’INSERT INTO `optimization` (id, value) VALUES ’; $sql_arr = array(); $sql_str = ’’; for ($i = 0; $i < $count; $i++) { $sql_arr[] = ('(’’, $i)'); } $sql_str = implode(’,’, $sql_arr); $sql .= $sql_str; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh->commit(); } catch(Exception $e) { $dbh->rollBack(); echo $e->getMessage() . ’<br>’; } $end = microtime(true) * 1000; echo ’excuted : ’ , ($end - $begin) , ’ ms’;

上面這段代碼的運行結果如下:

1、excuted : 99.005859375 ms

2、excuted : 103.00610351562 ms

3、excuted : 68.00390625 ms

平均:90.00528971354 ms

##分析 可以看出,在第二段代碼中,使用了批量插入,此時的效率比第一段提高了84%。原因如下:

使用第一段代碼的時候,因為每一次循環里都執行了一個mysql語句,此時php需要與mysql獲得連接,然后再執行mysql語句,然后再斷開。這就是第一段代碼最主要的時間開銷?PHP與MySQL連接的網絡傳輸IO 第一段代碼SQL語句解析的次數更多

因此,在第二段代碼中,通過合并SQL語句來實現減少SQL語句解析的次數以及PHP與MySQL連接的次數來達到減少網絡傳輸IO的開銷。

注意: 1、SQL語句是有長度限制的,因此,在進行SQL語句合并時務必不能超過SQL長度限制,通過設置max_allowed_packet可以修改,默認是1M,測試時修改為8M。

##總結

在進行對數據庫的批量操作(如:插入、更新、修改)時,應當盡可能將SQL語句合并后再執行而不是在循環中依次執行。

記錄下最近在項目中犯下的一個比較大的錯誤,以后不能再犯了。以前一直都沒有注意到,直到現在真正參與到企業項目中,自己的代碼被老大指出錯誤后才發現自己的錯誤。學習了。

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+mysql數據庫操作入門教程》、《php+mysqli數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

標簽: PHP
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
成人精品免费看| 欧美男人的天堂一二区| 97久久精品人人澡人人爽| 久久岛国电影| 亚洲欧美国产毛片在线| 欧美成人有码| 色综合久久久久| 亚洲福利视频导航| 91玉足脚交白嫩脚丫在线播放| 一区二区激情| 亚洲视频1区2区| 亚洲夫妻自拍| 亚洲欧美日韩一区二区三区在线观看| 国产一区二区视频在线| 亚洲国产精选| 中文字幕亚洲一区二区av在线| 国产一区二区三区| 在线电影欧美成精品| 国产99久久久久| 欧美变态口味重另类| 成人免费电影视频| 日韩精品一区二区三区视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 亚洲一级网站| 亚洲欧美另类小说| 国产欧美91| 日韩和欧美一区二区三区| 日本高清不卡视频| 久久国产人妖系列| 在线电影院国产精品| 国产成人免费视频网站 | jiyouzz国产精品久久| 一本色道亚洲精品aⅴ| 午夜精品在线看| 99精品国产高清一区二区| 国产欧美日韩精品在线| 国内精品国语自产拍在线观看| 欧美大片在线观看一区| 成人黄色片在线观看| 日本韩国一区二区三区| 蜜桃视频第一区免费观看| 欧美精品欧美精品系列| 丰满放荡岳乱妇91ww| 精品免费日韩av| 女同一区二区| 亚洲蜜臀av乱码久久精品| 一本一本a久久| 日本亚洲电影天堂| 51精品视频一区二区三区| 99精品视频在线播放观看| 日韩精品影音先锋| 91网站在线观看视频| 中文字幕免费不卡| 成人深夜福利app| 欧洲精品在线观看| 日韩vs国产vs欧美| 911精品产国品一二三产区| 99久久免费视频.com| 亚洲欧洲另类国产综合| 91视频xxxx| 国产精品久线观看视频| 95精品视频在线| 日韩情涩欧美日韩视频| 欧美在线网站| 亚洲综合在线视频| 91久久久免费一区二区| 亚洲国产日韩av| 欧美视频中文字幕| 成人免费高清视频| 亚洲欧洲成人精品av97| 午夜精品久久久久99热蜜桃导演 | 亚洲婷婷国产精品电影人久久| 91麻豆国产福利在线观看| 中文字幕一区不卡| 久久一区二区精品| 成人免费av资源| 亚洲精品视频免费看| 99在线|亚洲一区二区| 午夜视频一区二区| 日韩欧美精品在线视频| 日韩天天综合| 国产成人免费视频网站 | 久久国产乱子精品免费女| 精品国产一区二区三区av性色| 国产91精品免费| 日韩欧美在线综合网| 欧美精品一级| 日韩电影在线免费看| 久久综合精品国产一区二区三区| 99久久国产综合精品色伊| 亚洲精品一区二区三区99| 一本色道久久综合亚洲精品婷婷 | 成人网页在线观看| 一区二区三区在线观看网站| 亚洲欧美不卡| 国产成人av影院| 久久久亚洲高清| 久久午夜视频| 欧美连裤袜在线视频| 亚洲国产裸拍裸体视频在线观看乱了| 美日韩免费视频| 国产成人免费9x9x人网站视频| 精品乱码亚洲一区二区不卡| 99久久精品费精品国产一区二区| 久久婷婷国产综合精品青草| 91天堂素人约啪| 国产精品久久久久久福利一牛影视| 韩日视频一区| 久久99精品久久久久| 中文字幕免费在线观看视频一区| 一级日韩一区在线观看| 国产精品中文字幕一区二区三区| 久久久久免费观看| 久久久国产精品一区二区三区| 国产综合久久久久久久久久久久 | 91久久免费观看| 国产成人精品亚洲日本在线桃色| 国产婷婷色一区二区三区四区| 亚洲精品精选| 国产美女娇喘av呻吟久久| 日韩精品中文字幕一区 | 国产精品理论片在线观看| 欧美日韩一本到| 亚洲最新在线| 91视频在线观看免费| 精品一区二区在线免费观看| 久久婷婷久久一区二区三区| 99在线|亚洲一区二区| 久久成人免费网| 亚洲欧美日韩电影| 精品国产91洋老外米糕| 亚洲精品1区2区| 91视频.com| 高清成人在线观看| 另类小说欧美激情| 亚洲一区二区中文在线| 国产欧美日韩精品a在线观看| 美日韩精品免费| 亚洲国产一区二区三区在线播| 久久99精品国产91久久来源| 久久中文字幕电影| 制服.丝袜.亚洲.另类.中文| 久久久噜噜噜久久狠狠50岁| 国产91综合网| 美女网站色91| 亚洲一区在线视频| 国产精品成人网| 久久久精品人体av艺术| 久久婷婷av| 亚洲精品日本| 欧美精品二区| 成人免费黄色在线| 一区二区三区不卡视频在线观看| 欧美日韩国产a| 亚洲欧美春色| 在线视频观看日韩| 国产精品一二三四区| 国产精品入口麻豆九色| 久久久久久久久久久一区 | 国产精品护士白丝一区av| 日韩精品专区在线影院重磅| 91精品在线一区二区| 日本道精品一区二区三区| 国产精品日韩欧美一区| 成人免费黄色大片| 国产伦精一区二区三区| 老司机免费视频一区二区| 日韩精品亚洲专区| 亚洲午夜精品网| 一区二区三区在线观看网站| 亚洲精品免费在线观看| 亚洲视频在线观看一区| 欧美变态凌虐bdsm| 鲁大师影院一区二区三区| 97久久精品人人做人人爽| 午夜精品一区二区三区电影天堂 | 麻豆精品视频| 国产精品一区二区你懂得| 一区二区免费在线视频| 亚洲黄色一区| 亚洲三级电影在线观看| 日韩天天综合| 亚洲欧美日韩综合国产aⅴ| 国产精品试看| 午夜一级久久| 亚洲在线不卡| 免费亚洲一区| 一本色道久久综合狠狠躁的推荐| 欧美在线播放一区| 国产乱人伦偷精品视频免下载| 午夜一区二区三区在线观看| 欧美videos大乳护士334| 日韩欧美在线一区二区三区| 日韩区在线观看| 欧美日韩一区二区三区高清| 欧美放荡的少妇| 在线观看成人小视频| 欧美日韩中文另类| 91精品国产美女浴室洗澡无遮挡| 色综合一区二区|