国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP一些有意思的小區別

2024-05-04 22:14:16
字體:
來源:轉載
供稿:網友
單引號'和雙引號"的區別: 
首先是單引號要比雙引號執行效率要高,因為雙引號會對內容進行預處理。 
例如:'$value' 輸出字符 $value ; "$value"輸出變量$value的值。 

char和varchar的區別: 
char是定長而varchar是變長,char的主要特點是存儲方式預分配,varchar當它的數據長度發生變化時會影響其存儲的頁分配。 
char與varchar2是一對矛盾的統一體,兩者是互補的關系.  
varchar2比char節省空間,在效率上比 char會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在數據庫設計上常說的‘以空間換效率'。  
varchar2 雖然比 char節省空間,但是如果一個varchar2列經常被修改,而且每次被修改的數據的長度不同,這會引起‘行遷移'(Row Migration)現象,而這造成多余的I/O,是數據庫設計和調整中要盡力避免的,在這種情況下用 char代替varchar2會更好一些。 

mysql_connect和mysql_pconnect的區別 
引用exceed php club論壇上的朋友原話: 
php中mysql_pconnect()的實現方式:  
其實mysql_pconnect()本身并沒有做太多的處理, 它唯一做的只是在php運行結束后不主動close掉mysql的連接.  
mysql_pconnect()與此同時mysql_connect()的區別: 
cgi方式下: 
在php經cgi方式運行時pconnect和connect是基本沒有區別的, 因為cgi方式是每一個php訪問起一個進程, 訪問結束后進程也就結束了, 資源也全釋放了.  
apache模塊方式下: 
區別在于當php以apache模塊方式運行時, 由于apache有使用進程池, 一個httpd進程結束后會被放回進程池, 這也就使得用pconnect打開的的那個mysql連接資源不被釋放, 于是有下一個連接請求時就可以被復用. 
這就使得在apache并發訪問量不大的時候, 由于使用了pconnect, php節省了反復連接db的時間, 使得訪問速度加快. 這應該是比較好理解的. 
但是在apache并發訪問量大的時候, 如果使用pconnect, 會由于之前的一些httpd進程占用的mysql連接沒有close, 則可能會因為mysql已經達到最大連接著, 使得之后的一些請求永遠得不到滿足. 
例如:  
若mysql最大連接數設為500, 而apache的最大同時訪問數設為2000 
假設所有訪問都會要求訪問db, 而且操作時間會比較長 
當前500個請求的httpd都沒有結束的時候...之后的httd進程都是無法連接到mysql的(因已經達到mysql最大連接數). 只有當前500個httpd進程結束或被復用才可以連接得到了mysql. 
其實這個也很好解釋了xgy_p的測試中若操作比較簡單, pconnect比connect效率高很多, 而且跟使用jsp的連接池的速度比較接近. 因為這個時候httpd進程可以不斷的給復用. 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和林格尔县| 沭阳县| 桓仁| 山东| 甘肃省| 磐石市| 涟源市| 东乌珠穆沁旗| 宣化县| 榆树市| 华坪县| 望谟县| 安仁县| 监利县| 安溪县| 固原市| 中方县| 屏山县| 同仁县| 扬中市| 竹山县| 宝兴县| 汨罗市| 普格县| 正安县| 琼海市| 曲靖市| 东乡县| 双江| 南川市| 五河县| 富裕县| 新乐市| 湘阴县| 囊谦县| 东台市| 益阳市| 南靖县| 张北县| 勐海县| 茌平县|