踩坑經歷(十四)論好習慣的重要性
事故現場
定時任務呼叫儲存日誌顯示執行失敗
排查
1.本地執行儲存過程不報錯
2.生產環境排查問題,儲存過程SQL從上往下一段段執行
3.鎖定SQL錯誤
問題定位
1.欄位值為數字,使用者提交值為中文
2.業務庫改了某些欄位長度沒有跟我說,導致儲存過程插入資料長度不夠報錯
反思
1.如何提高儲存過程的健壯性,避免髒資料幹崩我的儲存過程
2.同事改了業務庫欄位長度沒有跟我說,這個壞習慣導致問題的產生,修改欄位長度由於資料量很大,導致執行時間很長,論好習慣的重要性
儲存過程健壯性解決方案
儲存過程對於特殊欄位值需要加判斷,出現數據問題寫日誌,前端頁面根據錯誤的級別,加一個預警功能
相關推薦
踩坑經歷(十四)論好習慣的重要性
事故現場 定時任務呼叫儲存日誌顯示執行失敗 排查 1.本地執行儲存過程不報錯 2.生產環境排查問題,儲存過程SQL從上往下一段段執行 3.鎖定SQL錯誤 問題定位 1.欄位值為數字,使用者提交值為中文 2.業務庫改了某些欄位長度沒有跟我說,導致儲存過程插入
踩坑經歷(十五)SQL優化利器——記憶體表
臨時表與記憶體表 記憶體表,就是放在記憶體中的表,所使用記憶體的大小可通過My.cnf中的max_heap_table_size指定,如max_heap_table_size=1024M。 記憶體表與臨時表並不相同,臨時表也是存放在記憶體中,臨時表最大所需記憶體需要通過tmp_t
踩坑經歷(十二)記一次kettle定時任務延遲執行的排錯過程
生產現場 場景 kettle的.sh批量執行檔案內包含了a.job和b.job,a.job在b.job前面 問題 生產環境下設定的晚上4點執行kettle的b.job作業,4點沒有執行白天12點多執行 排查過程 1.生產環境檢視linux的定時命令
C++學習經歷(十四)建造者模式
建造者模式 將產品的內部表象和產品的生產過程分割開來,從而使一個建造過程生成具有不同的內部表象的產品物件。建造者模式使得產品內部表象可以獨立的變化,客戶不必知道產品內部實現的細節。建造者模式可以強制實行一種分步驟進行的建造過程。 例子:一個房子(House)有門(Door)和牆(Wall),
踩坑經歷(四)建立索引儲存過程
需求:存在刪除索引並且建立索引 儲存過程 DROP PROCEDURE IF EXISTS add_Index; delimiter // CREATE PROCEDURE add_Index ( IN p_dbname VARCHAR (200), I
踩坑經歷(一)BigDecimal如何比較大小
案例 BigDecimal a=BigDecimal.valueOf(1.0); BigDecimal b=BigDecimal.valueOf(1.000); 比較大小 if(a.compareTo(b)==0) JDK原始碼 public int
踩坑經歷(八)MySQL 實現 over partition by
建表語句 /* Navicat MySQL Data Transfer Source Server : test Source Server Type : MySQL Source Server Version : 50620 Source Host
踩坑經歷(七)MySQL匯出生產環境表結構和資料
在命令列視窗下執行即可 編號 需求 SQL 1 匯出資料庫為dbname的表結構(其中使用者名稱為root,密碼為dbpasswd,生成的指令碼名為db.sql) my
踩坑經歷(六)MySQL之生成動態SQL語句
delimiter $$ drop procedure if exists test_tb; create procedure test_tb() begin #DECLARE t_error INTEGER DEFAULT 0; -- DECLARE u
踩坑經歷(五)一次關於MySQL儲存過程的排錯
SQL語句 -- #開啟定時器,預設為關閉狀態 set global event_scheduler =1; #或者set GLOBAL event_scheduler = ON; use monitorsys; drop event if exists report_back
踩坑經歷(九)一條雙層迴圈的SQL實現業務需求
業務場景 類目 背景 資料特點 表沒有唯一主鍵,相同id可能有很多條 需求 取每條資料記錄的最新記錄 SQL實現 (1
踩坑經歷(十三)mysql中的隱式轉換
前置條件 id欄位型別為varchar(32) 查詢資料 select * from bond; select * from bond where id='1' select * from bond where id=1
從零開始學習html(十四)單位和值
type 當我 總結 學生 專註 bfc span blog 設置顏色 一、顏色值 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5
自然語言交流系統 phxnet團隊 創新實訓 個人博客 (十四)
reg ssa then soci mile pic fin lan tle 關於WikiExtractor的學習筆記: WikiExtractor是一個Python 腳本,專門用於提取和清洗Wikipedia的dump數據,支持Python 2.7 或者 Pyth
(十四)Hibernate中的多表操作(4):單向一對一
odin utf-8 lds () clas string 方式 rdb style 案例一: 註解方式實現一對一 UserBean.java package bean; import java.io.Serializable; import javax.pers
openstack controller ha測試環境搭建記錄(十四)——配置cinder(存儲節點)
nbsp 設置 ntp reason script snap rate 文件 esc 先簡述cinder存儲節點的配置: 1、IP地址是10.0.0.41; 2、主機名被設置為block1; 3、所有節點的hosts文件已添加相應條目; 4、已經配置了ntp時間同
OGG運維優化腳本(十四)-信息同步類--定義文件自動下發
ogg oracle goldengate 腳本 數據同步 shell 文件: resend.sh路徑:$HOME/ggscript/ggdef功能:該腳本為用於應對目標端因為定義文件失效導致的進程異常中斷所設計因源端業務經常未通知目標端以及系統組自行修改表結構因此設計該腳本自動生成定
CSS學習(十四)-CSS顏色之中的一個
rac 顏色 opacity bsp pac pre alpha color data- 一、理論: 1.RGB色彩模式 a.CMYK色彩模式 b.索引色彩模式 (主要用於web) c.灰度模式 d.雙色調模式 2.opacity: a.alphavalue:透明
Linux筆記(十四) - 日誌管理
關機 ron pri 內核 有用 規則 rsyslog 所有者 事件 (1)rsyslogd的服務:查看服務是否啟動:ps aux | grep rsyslogd 查看服務是否自啟動:chkconfig --list | grep rsyslog 配置文件 : /etc/r
全棧JavaScript之路(十四)HTML5 中與class屬性相關的擴充
mov html5 表示 方法 popu dom add data- token 1. getElementByClassName() :支持getElementsByClassName()方法的瀏覽器有IE 9+、Firefox 3+、Safari