接手別人的項目,在一次修改某個畫曲線的功能時發現卡頓,以前的同事是不管歷史記錄直接從頭畫,然後領導希望能有歷史曲線,改完後發現切換不同設備時會卡頓,然後我就在畫曲線的功能里逐個輸出消耗時間,最後發現資料庫操作時出現等到幾秒的情況,我這個是SQLITE本地資料庫,然後查看以前同事寫的方法,發現他把數據 ...
接手別人的項目,在一次修改某個畫曲線的功能時發現卡頓,以前的同事是不管歷史記錄直接從頭畫,然後領導希望能有歷史曲線,改完後發現切換不同設備時會卡頓,然後我就在畫曲線的功能里逐個輸出消耗時間,最後發現資料庫操作時出現等到幾秒的情況,我這個是SQLITE本地資料庫,然後查看以前同事寫的方法,發現他把資料庫操作都鎖一個變數,即一個程式對資料庫操作同一個時間只能有一個操作,但這個程式是多線程的,所以導致一個線程訪問資料庫時,其他的只能等待,造成嚴重堵塞,之後我把這些全部去掉,解決了這個卡頓的問題。
一直有個疑問鎖庫是啥意思,查找資料也不是很詳盡,之前遇到過一次事務沒提交導致資料庫無法訪問,這算嗎?