Qt連線MySQL程式設計及資料庫效能調優(一)
阿新 • • 發佈:2018-12-12
之前整理過一篇Qt下資料庫程式設計基礎 :最近在進行單元測試,所以把遇到的一些問題整理出來,主要是關於資料庫的
1.遠端連線資料庫
連線語句是: mysql -h 192.168.xx.xx(IP地址) -P 3306(埠) -u remoteuser(登入使用者名稱) -p(按回車輸入密碼)。 在連線之前首先要在遠端配置一下,我使用的是新增授權使用者的方法: 下面是允許任意ip地址進行連線,使用者名稱:remoteuser,密碼:password: mysql>GRANT ALL PRIVILEGES ON . TO ‘remoteuser’@’%'IDENTIFIED BY ‘password’ WITH GRANT OPTION; 下面是指定ip為192.168.10.33的主機才能連線到mysql伺服器:
2.插入資料速度優化
用Qt編寫的插入介面是用的QSqlTableModel,每插入一條資料就進行一次提交,剛開始的時候覺得不會有太大問題,但測試的時候發現插入一條資料大概要40ms的樣子,這樣顯然是不夠的,於是查了資料,說是要用事務,於是改成先transaction後commit,插入資料也換成了用SQL語句的方法,發現速度並沒有快多少,於是又查了資料庫相關的資料,發現由於用的是InnoDB引擎,預設是會autocommit的,所以速度才沒什麼提升,所以在配置檔案里加了一句autocommit = 0。速度馬上就提上去了。但使用autocommit比較麻煩的一點在於,你需要自己手動去使用commit語句,千萬不要忘記,不然資料是寫不進去的。詳見 這篇文章。
,