成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL自動審核-自助上線平臺

數據庫
為了讓DBA從日常繁瑣的工作中解放出來,通過SQL自助平臺,可以讓開發自上線,開發提交SQL后就會自動返回優化建議,無需DBA的再次審核,從而提升上線效率,有利于建立數據庫開發規范。

為了讓DBA從日常繁瑣的工作中解放出來,通過SQL自助平臺,可以讓開發自上線,開發提交SQL后就會自動返回優化建議,無需DBA的再次審核,從而提升上線效率,有利于建立數據庫開發規范。

借鑒了去哪網Inception的思路并且把美團網SQLAdvisor(索引優化建議)集成在一起,并結合了之前寫的《DBA的40條軍規》納入了審核規則里,用PHP實現。目前在我公司內部使用。

SQL自動審核主要完成兩方面目的:

1、避免性能太差的SQL進入生產系統,導致整體性能降低。

2、檢查開發設計的索引是否合理,是否需要添加索引。

思路其實很簡單:

1、獲取開發提交的SQL

2、對要執行的SQL做分析,觸碰事先定義好的規則來判斷這個SQL是否可以自動審核通過,未通過審核的需要人工處理。

下面是首頁界面:

首頁.png

使用說明:

1、針對select/insert/update/create/alter加了規則,delete需要審批。

2、語句之間要有空格,例where id = 100,沒有空格會影響判斷的準確性。

3、SQL語句后面要加分號; MySQL解析器規定分號才可以執行SQL。

4、反引號`可能會造成上線失敗,需要用文本編輯器替換掉。

5、支持多條SQL解析,用######六個井號分割。

  • SELECT審核

1、開發人員可以直接將SQL語句提交到平臺進行風險評估

2、平臺對SQL語句進行分析,自動給出其不符合開發規范的改進意見

3、適用場景:應用開發階段

檢查項:

1、select * 是否有必要查詢所有的字段?

2、警告!沒有where條件,注意where后面的字段要加上索引

3、沒有limit會查詢更多的數據

4、警告!子查詢性能低下,請轉為join表關聯

5、提示:in里面的數值不要超過1000個

6、提示:采用join關聯,注意關聯字段要都加上索引,如on a.id=b.id

7、提示:MySQL對多表join關聯性能低下,建議不要超過3個表以上的關聯

8、警告!like '%%'雙百分號無法用到索引,like 'mysql%'這樣是可以利用到索引的

9、提示:默認情況下,MySQL對所有GROUP BY col1,col2...的字段進行排序。如果查詢包括GROUP BY,

想要避免排序結果的消耗,則可以指定ORDER BY NULL禁止排序。

10、警告!MySQL里用到order by rand()在數據量比較多的時候是很慢的,因為會導致MySQL全表掃描,故也不會用到索引

11、提示:是否要加一個having過濾下?

12、警告!禁止不必要的order by排序,因為前面已經count統計了

13、警告!MySQL里不支持函數索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是無法用到索引的,需要改寫為

create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'

之后會調用美團網SQLAdvisor進行索引檢查

使用概述:

1.png

1、選中你的數據庫名字

2、在對話框中輸入你要提交的SQL

3、點擊提交審核按鈕

2.png

提交以后,系統自動返回SQL優化改進意見。

  • insert審核

檢查項:

1、警告: insert 表1 select 表2,會造成鎖表。

3.png

審核通過以后,會彈出用戶名和密碼,提示上線:

4.png

點擊我要上線按鈕,會調用MySQL客戶端進行語法校驗和表是否存在等校驗。

5.png

  • update審核

檢查項:

1、警告!沒有where條件,update會全表更新,禁止執行!!!

2、更新的行數小于10000行,可以由開發自助執行。否則請聯系DBA執行!!!

6.png

7.png

防止where 1=1 繞過審核規則

update5.png

必須寫真實的where條件才可以執行更新操作。

上線成功的SQL會記錄到一張操作日志表里,并且會把binlog位置點記錄下來,方便日后的回滾操作。

QQ圖片20171223192835.png

  • create審核

檢查項:

1、警告!表沒有主鍵

2、警告!表主鍵應該是自增的,缺少AUTO_INCREMENT

3、提示:id自增字段默認值為1,auto_increment=1

4、警告!表沒有索引

5、警告!表中的索引數已經超過5個,索引是一把雙刃劍,它可以提高查詢效率但也會降低插入和更新的速度并占用磁盤空間

6、警告!表字段沒有中文注釋,COMMENT應該有默認值,如COMMENT '姓名'

7、警告!表沒有中文注釋

8、警告!表缺少utf8字符集,否則會出現亂碼

9、警告!表存儲引擎應設置為InnoDB

10、警告!表應該為timestamp類型加默認系統當前時間

c1.png

c2.png

審核通過后,就可以上線了

c3.png

上線失敗提示:

c4.png

  • alter審核

檢查項:

1、警告!不支持create index語法,請更改為alter table add index語法。

2、警告!更改表結構要減少與數據庫的交互次數,應改為,例alter table t1 add index IX_uid(uid),add index IX_name(name)

3、表記錄小于100萬行,可以由開發自助執行。否則表太大請聯系DBA執行!

a1.png

a2.png

 

數據庫上線工單查詢(只記錄成功執行的SQL)

 

工單查詢.png

責任編輯:龐桂玉 來源: 51CTO博客
相關推薦

2024-04-17 08:00:00

2014-04-03 15:34:42

開放平臺

2016-06-08 10:21:17

樂視云

2021-02-07 19:20:27

微軟自動填充瀏覽器

2013-08-07 09:35:43

政府召車App

2014-08-29 10:25:35

測試云中國軟件評測中心

2013-12-02 10:01:04

云平臺

2014-10-15 16:56:09

華為企業

2009-04-16 18:15:19

動作審核審核活動SQL Server

2011-01-20 16:50:14

360360軟件安全發布平臺

2020-08-28 10:20:33

SQL審核利器goinception

2017-04-18 08:49:41

政務云忻州交易

2017-04-14 13:21:34

忻州政務云平臺

2019-08-09 10:49:53

華為HMS智慧生活

2021-09-16 18:02:51

云監測SaaS

2017-03-08 19:27:04

敏捷BI數據數據庫

2012-03-29 10:51:49

天翼空間云終端測試平臺

2017-11-21 12:00:06

體驗平臺

2009-01-08 18:05:27

服務器微軟云計算

2019-04-09 08:00:00

蘇寧發票中心系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产午夜精品视频 | 日日夜夜精品免费视频 | 欧美成人高清视频 | 国产综合网站 | 天天看天天操 | 成人av电影天堂 | 亚洲一区二区在线电影 | 国产精品久久久久久久久久久新郎 | 国产精品欧美一区二区三区 | 国产精品欧美一区二区 | 国产在线一区观看 | 精品一区久久 | 美女视频一区 | 国产丝袜一区二区三区免费视频 | 一区二区三区免费 | 91精品久久久久久久久 | 综合色播| 岛国午夜 | 日韩精品一区二区三区在线播放 | 91视频在线观看 | 日本三级在线网站 | 麻豆changesxxx国产 | 国产 日韩 欧美 中文 在线播放 | 精品亚洲二区 | 中文字幕在线观看一区二区 | 网站黄色在线 | 中文字幕亚洲一区 | 国产黄色av电影 | 欧美午夜影院 | 成人免费观看男女羞羞视频 | 黄色毛片在线观看 | 九九热在线免费视频 | aaa级片 | 精品国产第一区二区三区 | 嫩草视频在线看 | 嫩草视频在线免费观看 | 日韩精品在线看 | 国产午夜精品一区二区三区嫩草 | 日韩精品一区二区三区中文字幕 | 国产在线精品一区二区三区 | 成人二区|