mysql數(shù)據(jù)庫連接 c#連接mysql數(shù)據(jù),設(shè)置數(shù)據(jù)庫連接池?
c#連接mysql數(shù)據(jù),設(shè)置數(shù)據(jù)庫連接池?您可以使用ADO或OCI進行連接。使用OCI連接,您可以使用官方API,更簡單的是,您可以使用ocilib,它是Oracle數(shù)據(jù)庫的封裝庫,提供兩套C和C A
c#連接mysql數(shù)據(jù),設(shè)置數(shù)據(jù)庫連接池?
您可以使用ADO或OCI進行連接。
使用OCI連接,您可以使用官方API,更簡單的是,您可以使用ocilib,它是Oracle數(shù)據(jù)庫的封裝庫,提供兩套C和C API,地址:ocilib(Oracle的C和C驅(qū)動程序)-用于訪問Oracle數(shù)據(jù)庫的開源C和C庫。
ocilib文檔中有更多示例,包括綁定向量、數(shù)據(jù)庫連接池、12C隱式結(jié)果集、使用Oracle對象和數(shù)據(jù)庫通知等。此連接模式也可以在沒有客戶端的環(huán)境中運行。
Ocilib連接到Oracle數(shù)據(jù)庫--安裝配置
Ocilib連接到Oracle數(shù)據(jù)庫--插入數(shù)據(jù)
官方文檔:一些Ocilib C示例代碼
數(shù)據(jù)庫連接池不減少MySQL查詢的消耗,但是為了避免MySQL維護大量的數(shù)據(jù)庫連接
最大MySQL連接數(shù)Max默認連接數(shù)為151(最大值可以超過10000)。假設(shè)一個工作進程維護到MySQL的長連接。當(dāng)spool服務(wù)的工作進程數(shù)(對應(yīng)的CPU核數(shù))超過151時,MySQL將默認拒絕新的連接。假設(shè)一臺服務(wù)器的CPU核數(shù)為32個,當(dāng)服務(wù)器數(shù)達到4個(32*4=128)時,打開32個spool worker進程,MySQL需要考慮配置更大的maxmax 連接數(shù)調(diào)整為1510(默認值的10倍),可供40臺swoole應(yīng)用服務(wù)器使用。可以看出,當(dāng)swoole應(yīng)用服務(wù)器數(shù)量超過100臺時,數(shù)據(jù)庫連接池是有意義的,否則將是一個簡單而復(fù)雜的問題|MySQL splqueue。
一般來說,與PDO的長連接就足夠了,即使是swoole提供的異步MySQL客戶端也不能使用,以確保數(shù)據(jù)庫邏輯可以按同步順序?qū)懭耄⑶也恍枰癞惒侥菢忧短谆卣{(diào)