Rahsia untuk meningkatkan prestasi sambungan pangkalan data PHP: Gunakan kumpulan sambungan pangkalan data: pra-wujudkan sambungan pangkalan data untuk mengurangkan kos mewujudkan semula sambungan. Gunakan sambungan berterusan: kekalkan sambungan ke pangkalan data untuk mengelak daripada mewujudkannya semula untuk setiap pertanyaan. Tetapkan parameter sambungan: Optimumkan parameter seperti tamat masa sambungan untuk mengelakkan pertanyaan yang berjalan lama daripada menyebabkan tamat masa sambungan. Hadkan sambungan serentak: Tetapkan had atas bilangan sambungan serentak untuk mengelakkan pelayan daripada terharu. Kes praktikal: Laksanakan pengumpulan sambungan dan sambungan berterusan dalam tapak web e-dagang untuk mengurangkan masa pemuatan halaman dan meningkatkan daya pengeluaran. . tengah kolam. Apabila sambungan baharu perlu diwujudkan, anda hanya mendapatkan sambungan sedia ada daripada kolam tanpa mewujudkannya semula. Ini boleh meningkatkan prestasi, terutamanya untuk aplikasi yang mengendalikan sejumlah besar permintaan pangkalan data.
Contoh Kod:
use PDO; // 创建一个数据库连接池 $pool = new PDOPool(); // 从池中获取一个连接 $connection = $pool->get(); // 使用连接执行查询 $result = $connection->query('SELECT * FROM users'); // 释放连接回到连接池 $pool->release($connection);
Sambungan berterusan membolehkan anda mengekalkan sambungan ke pelayan pangkalan data walaupun selepas pelaksanaan skrip tamat. Ini bermakna anda tidak perlu mewujudkan semula sambungan pada kali berikutnya anda perlu menyambung, meningkatkan prestasi.
Contoh kod:
$connection = new PDO('mysql:host=localhost;dbname=test', 'root', 'password', [ PDO::ATTR_PERSISTENT => true ]);
Sesetengah parameter sambungan pangkalan data boleh menjejaskan prestasi. Contohnya, menetapkan parameter boleh menghalang pertanyaan yang berjalan lama daripada menyebabkan tamat masa sambungan.
Contoh kod:$connection->setAttribute(PDO::ATTR_TIMEOUT, 5); // 设置连接超时为 5 秒
Mengendalikan sejumlah besar sambungan pangkalan data pada masa yang sama boleh menyebabkan kemerosotan prestasi. Dengan mengehadkan bilangan sambungan serentak, anda memastikan pelayan anda tidak kewalahan.
PDO::ATTR_TIMEOUT
Sampel kod:
// 设置最大并发连接数为 10 $connection->setAttribute(PDO::ATTR_MAX_PERSISTENT_CONNECTIONS, 10);
Dalam tapak web e-dagang yang mengendalikan sejumlah besar pembelian pengguna, penggunaan pengumpulan sambungan pangkalan data dan sambungan berterusan meningkatkan prestasi dengan ketara. Pengumpulan sambungan menghalang overhed untuk mewujudkan semula sambungan apabila sebilangan besar pengguna mengakses tapak web pada masa yang sama. Sambungan berterusan menghapuskan keperluan untuk mewujudkan dan menutup sambungan antara berbilang pertanyaan. Pengoptimuman ini mengurangkan masa pemuatan halaman sebanyak 30% dan meningkatkan daya pengeluaran keseluruhan tapak.
Atas ialah kandungan terperinci Petua untuk meningkatkan prestasi sambungan pangkalan data dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!