連線資料庫不同方式會影響TTBF快慢

2021-07-14 14:24:57 字數 1731 閱讀 3388

正在研究php框架,突然發現乙個奇特的問題:框架中php**連線資料庫使用pdo和mysqli,盡然會導致頁面載入速度上產生很大的差距。一開始還以為是框架本身造成的這種現象,所以在本地寫了乙個基礎的測試用例,只是分別用pdo和mysqli連線資料庫,看看頁面響應速度。並且在php**剛開始執行和執行結束輸出微秒差值。

第一種連線db方式:

$t1 = microtime();

/* connect to a mysql server 連線資料庫伺服器 */

$link = mysqli_connect(

'localhost', /* the host to connect to 連線mysql位址 */

'***x', /* the user to connect as 連線mysql使用者名稱 */

'***x', /* the password to use 連線mysql密碼 */

***x'); /* the default database to query 連線資料庫名稱*/

if (!$link) else

$t2 = microtime();

echo $t2-$t1;

執行效率貼圖:

以上兩張圖,都是php使用mysqli連線資料庫,可以看到ttfb響應時間超長,都1s以上了,這只是開啟乙個只連線資料庫的頁面,但是頁面上開始執行和結束的微秒有的時候差距蠻大。大部分是在0.0023微秒。

第二種方式:

$t1 = microtime();

$dbms='mysql'; //資料庫型別

$host='127.0.0.1:3306'; //資料庫主機名

$dbname='***x'; //使用的資料庫

$user='***x'; //資料庫連線使用者名稱

$pass='***x'; //對應的密碼

$dsn="$dbms:host=$host;dbname=$dbname";

try catch (pdoexception $e)

//預設這個不是長連線,如果需要資料庫長連線,需要最後加乙個引數:array(pdo::attr_persistent => true) 變成這樣:

$db = new pdo($dsn, $user, $pass, array(pdo::attr_persistent => true));

$t2 = microtime();

echo $t2-$t1;

執行貼圖:

php使用pdo連線db,頁面的響應時間都在ms級,php**從開始執行和執行結束所輸出的微秒差值有的時候相等,而ttfb的時間也相差很大呢。

請看到的貼的懂得大師們,做個點評,說明下,謝謝

已懂,作結

Python MySQL 資料庫連線不同方式

pymysql 驅動連線 什麼是 pymysql?pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。p...

C 連線SQL Server資料庫的不同方式

一 不同字串定義方式 1 直接定義字串並連線 static sqlconnection conn 定義連線物件 public static sqlconnection connection 連線物件的屬性 else if conn.state connectionstate.closed else ...

ADO方式連線資料庫

ado方式連線資料庫分為如下步驟 1.ado物件的匯入 在使用ado技術時需要匯入乙個ado動態鏈結庫msado15.dll。該動態庫位於系統盤下的 program files common files system ado 目錄下。在stafx.h標頭檔案下新增如下 將msado15.dll動態鏈...