現在專案涉及到三個表,user、App、pro,這三個表分別代表用戶表,申請表、和問題表,場景時用戶點擊通過的時候,需要更新app里面的pass欄位,還需要更新user里面的一個end欄位為1,然后將對應的用戶的pro里面的欄位pass設定為1,表示通過認證。但是現在效率賊慢。就是點擊【批量通過】之后等好長時間才能顯示更新成功,剛開始以為自己使用了@Transaction什么Exception這個注解導致慢的原因,后來去掉之后也是慢。有什么建議嗎
uj5u.com熱心網友回復:
按你這個描述,3條sql就行啊,你不會是逐條更新的吧?uj5u.com熱心網友回復:
表的資料量大的話,如果更新條件沒有索引就會很慢,合理利用索引,利用SQL執行計劃查看索引的使用情況uj5u.com熱心網友回復:
你的【批量通過】對應的后臺代碼,是不是按條提交的?后臺啟用事物管理,批量提交,不要按條提交。
uj5u.com熱心網友回復:
效率問題得逐步排查,看哪塊比較慢,sql慢調整資料庫,鎖引什么的。。uj5u.com熱心網友回復:
謝謝各位的回答。前臺是一個表格,給后臺傳過來的是一個個的id,然后使用增強for回圈按照id完成上述的更新內容。3樓有可能說的有道理,但是后臺怎么啟用事務管理呢uj5u.com熱心網友回復:
如果太大了,臨時建一個表,更新好了洗掉原表,再改表名。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/41388.html
標籤:Web 開發
上一篇:上次招初級程式員,面試官問我除了用mysql做增刪改查還做過什么?
下一篇:Java基礎
