? ? ? ?1、大批量操作可能會造成嚴重的主從延遲
? ? ? ?主從環境中,大批量操作可能會造成嚴重的主從延遲,大批量的寫操作一般都需要執行一定長的時間,而只有當主庫上執行完成后,才會在其他從庫上執行,所以會造成主庫與從庫長時間的延遲情況
? ? ? ? 2、binlog日志為row格式時會產生大量的日志
? ? ? ?大批量寫操作會產生大量日志,特別是對于row格式二進制數據而言,由于在row格式中會記錄每一行數據的修改,我們一次修改的數據越多,產生的日志量也會越多,日志的傳輸和恢復所需要的時間也會越長,這也是造成主從延遲的一個原因。
? ? ? ?3、 避免產生大事務操作
? ? ? ?大批量修改數據,一定是在一個事務中進行的,這會造成表中大批量數據進行鎖定,從而導致大量的阻塞,阻塞會對MySQL的性能產生非常大的影響。
? ? ? ?特別是長時間的阻塞會占滿所有數據庫的可用連接,這會使生產環境中的其他應用無法連接到數據庫,因此一定要注意大批量寫操作要進行分批。
? ? ? ?二、對于大表使用pt-online-schema-change修改表結構
? ? ? ?1、避免大表修改產生的主從延遲
? ? ? ?2、避免在對表字段進行修改時進行鎖表
? ? ? ?對大表數據結構的修改一定要謹慎,會造成嚴重的鎖表操作,尤其是生產環境,是不能容忍的。
? ? ? ?pt-online-schema-change它會首先建立一個與原表結構相同的新表,并且在新表上進行表結構的修改,然后再把原表中的數據復制到新表中,并在原表中增加一些觸發器。
? ? ? ?把原表中新增的數據也復制到新表中,在行所有數據復制完成之后,把新表命名成原表,并把原來的表刪除掉。
? ? ? ?把原來一個DDL操作,分解成多個小的批次進行。
? ? ? ?三、禁止為程序使用的賬號賦予super權限
? ? ? ?當達到蕞大連接數限制時,還運行1個有super權限的用戶連接super權限只能留給DBA處理問題的賬號使用。
? ? ? ?四、對于程序連接數據庫賬號,遵循權限蕞小原則
? ? ? ?程序使用數據庫賬號只能在一個DB下使用,不準跨庫 程序使用的賬號原則上不準有drop權限。
? ? ? ?以上是南昌網站建設開發公司百恒科技小編要跟大家聊到的關于MySQL數據庫操作行為規范的內容,希望能夠對大家有所幫助,想要了解更多關于這方面的內容,歡迎留言咨詢百恒科技,百恒科技專注于南昌網站建設開發、南昌小程序開發等互聯網服務!
相關文章推薦? ?:? ? MySQL數據庫命令規范是什么?? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? MySQL數據庫索引設計規范是什么?? ? ? ? ? ?