我的代碼如下,我在connectDB這句話的前后 輸出了當前時間,大概有1-10秒的耗時,1秒還可以接受,但10秒的耗時太久了哇,忍受不了。請問各位有什么好的解決辦法么?
bool DataBaseUnit::connectDB(QString strHostName, QString strDataBase, int nPort, QString strUserName, QString strPassword)
{
dataBase = QSqlDatabase::addDatabase("QMYSQL");
dataBase.setHostName(strHostName);
dataBase.setDatabaseName(strDataBase);
dataBase.setPort(nPort);
dataBase.setUserName(strUserName);
dataBase.setPassword(strPassword);
bool bRet = false;
bRet = dataBase.open();
if(bRet == false)
{
qDebug()<<"database connect error: "<<dataBase.lastError().text()<<dataBase.lastError().type();
}
return bRet;
}
uj5u.com熱心網友回復:
QSqlDatabase DataBaseUnit::connectDB(QString strHostName, QString strDataBase, int nPort, QString strUserName, QString strPassword)
{
//假定你的連接名稱connectionName是strDataBase+執行緒ID
if ( QSqlDatabase::database(connectionName).isOpen() ) {
return QSqlDatabase::database(connectionName);
}
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", connectionName);
db.setHostName(strHostName);
db.setDatabaseName(strDataBase);
db.setPort(nPort);
db.setUserName(strUserName);
db.setPassword(strPassword);
db.open();
return db;
}
uj5u.com熱心網友回復:
我后面改成使用連接名稱連接了,但還是重構后首次連接時間比較久,大概2秒作業,第二次在運行就很快了,幾十毫秒
uj5u.com熱心網友回復:
首次連接慢這個估計還是沒辦法的。因為是網路長連接。3次握手uj5u.com熱心網友回復:
關閉防火墻之類的東西。可能是網路問題。用MySQL客戶端mysql.exe 時,試試看一樣嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/43953.html
標籤:Qt
上一篇:ios做不規則圖片的鏤空(中空)
下一篇:android的wifi鎖問題
