日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL书写规范

發布時間:2025/4/16 数据库 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL书写规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、 語句中出現的所有表名、字段名全部小寫,系統保留字、內置函數名、Sql保留字大寫。
2、 連接符or、in、and、以及=、<=、>=等前后加上一個空格。
3、 對較為復雜的sql語句加上注釋,說明算法、功能。
注釋風格:注釋單獨成行、放在語句前面。
(1) 應對不易理解的分支條件表達式加注釋;
(2) 對重要的計算應說明其功能;
(3) 過長的函數實現,應將其語句按實現的功能分段加以概括性說明;
(4) 每條SQL語句均應有注釋說明(表名、字段名)。
(5) 常量及變量注釋時,應注釋被保存值的含義(必須),合法取值的范圍(可選)
(6) 可采用單行/多行注釋。(-- 或 /* */ 方式)
4、 SQL語句的縮進風格
(1) 一行有多列,超過80個字符時,基于列對齊原則,采用下行縮進
(2) where子句書寫時,每個條件占一行,語句令起一行時,以保留字或者連接符開始,連接符右對齊。
5、 多表連接時,使用表的別名來引用列。
6、 供別的文件或函數調用的函數,絕不應使用全局變量交換數據;
7、 變量令名不能超出ORACLE的限制(30個字符),令名要規范,要用英文令名,從變量上能看到變量的作用,如
g名稱 全局變量
m名稱 局部變量
c名稱 光標
p名稱 參數
8、 查找數據庫表或視圖時,只能取出確實需要的那些字段,不要使用*來代替所有列名。要清楚明白地使用列名,而不能使用列的序號。
9、 功能相似的過程和函數,盡量寫到同一個包中,加強管理。

如例(1)

二、 書寫優化性能建議
1、避免嵌套連接。例如:A = B and B = C and C = D
2、where條件中盡量減少使用常量比較,改用主機變量
3、系統可能選擇基于規則的優化器,所以將結果集返回數據量小的表作為驅動表(from后邊最后一個表)。
4、大量的排序操作影響系統性能,所以盡量減少order by和group by排序操作。

如必須使用排序操作,請遵循如下規則:
(1) 排序盡量建立在有索引的列上。
(2) 如結果集不需唯一,使用union all代替union。
5、索引的使用。
(1) 盡量避免對索引列進行計算。如對索引列計算較多,請提請系統管理員建立函數索引。
(2) 盡量注意比較值與索引列數據類型的一致性。
(3) 對于復合索引,SQL語句必須使用主索引列
(4) 索引中,盡量避免使用NULL。
(5) 對于索引的比較,盡量避免使用NOT=(!=)
(6) 查詢列和排序列與索引列次序保持一致

6、盡量避免相同語句由于書寫格式的不同,而導致多次語法分析,盡量使用Bind變量。
7、盡量使用共享的SQL語句。
8、查詢的Where過濾原則,應使過濾記錄數最多的條件放在最前面。
9、任何對列的操作都將導致表掃描,它包括數據庫函數、計算表達式等等,查詢時要盡可能將操作移至等號右邊。
10、in、or子句常會使用工作表,使索引失效;如果不產生大量重復值,可以考慮把子句拆開;拆開的子句中應該包含索引。

三、其他經驗性規則
1、盡量少用嵌套查詢。如必須,請用not exist代替not in子句。如例(2)
2、用多表連接代替EXISTS子句。如例(3)
3、少用DISTINCT,用EXISTS代替 如例(4)
4、使用UNION ALL、MINUS、INTERSECT提高性能
5、使用ROWID提高檢索速度。對Select得到的單行記錄,需進行Delete、Update操作時,使用ROWID將會使效率大大提高。
6、使用優化線索機制進行訪問路徑控制。
7、使用cursor時,顯示光標優于隱式光標

本規范示例:
例一:
Select aka042 -- 單位繳費劃入個人帳戶比例
INTO prm_aaa043
FROM ka01 --醫療保險單位繳費劃入個人帳戶比例分段信息
Where akc021 = rec_kc01.akc021 -- 醫療人員類別
AND aka041 >= rec_kc01.akc023 -- 年齡上限
AND aka040 <= rec_kc01.akc023 -- 年齡下限
AND aae030 <= prm_date -- 開始時間
AND ( aae031 >= prm_date or aae031 IS NULL ); -- 終止時間

例二:
X Select ......
FROM emp
Where dept_no NOT IN ( Select dept_no
FROM dept
Where dept_cat='A');

O Select ......
FROM emp e
Where NOT EXISTS ( Select 'X'
FROM dept
Where dept_no=e.dept_no
AND dept_cat='A');

例三:
X Select ......
FROM emp
Where EXISTS ( Select 'X'
FROM dept
Where dept_no=e.dept_no
AND dept_cat='A');

O Select ......
FROM emp e,dept d
Where e.dept_no=d.dept_no
AND dept_cat='A';

例四:
X Select DISTINCT d.dept_code,d.dept_name
FROM dept d ,emp e
Where e.dept_code=d.dept_code;

O Select dept_code,dept_name
FROM dept d
Where EXISTS ( Select 'X'
FROM emp e
Where e.dept_code=d.dept_code);


注釋范例
過程注釋:
過程都以sp_開頭,注意過程名稱要符合令名要求
/**************************************************************************
name:sp_Write_log
parameter:p_textContext in varchar2 參數描述
create date:2003-04-1
creater:chen jiping
desc:過程總功能描述
****************************************************************************/
函數注釋
函數以f開頭,令名符合令名標準
/**************************************************************************
name:f_Get_JobId
parameter:p_Name in varchar2 參數描述
return number:返回值描述
create date:2003-04-1
creater:chen jiping
desc:函數總功能描述
****************************************************************************/?

轉載于:https://www.cnblogs.com/hnsjack/articles/608646.html

總結

以上是生活随笔為你收集整理的SQL书写规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人无遮挡在线视频 | 欧美黑人xxxⅹ高潮交 | 搡老熟女老女人一区二区 | 亚洲色图17p | 日韩精品视频在线 | 天天干导航 | 波多野结衣视频网址 | 小柔的淫辱日记(1~7) | 国产无遮挡又黄又爽在线观看 | 久久99热精品 | 欧美激情视频一区二区三区不卡 | 日本女优中文字幕 | 豆花免费跳转入口官网 | 欧美三级小视频 | 啪啪免费网 | 女人张开双腿让男人捅 | 亚洲人成人一区二区在线观看 | 亚洲国产精品激情在线观看 | 国语播放老妇呻吟对白 | 91一区二区三区在线 | 天天操天天射天天舔 | 99超碰在线观看 | 天堂俺去俺来也www 欧美大片在线播放 | 日韩少妇内射免费播放 | 69精品久久久久久 | melody在线高清免费观看 | 国产激情免费视频 | 亚洲第四页 | 亚洲成人乱码 | 亚洲图片在线视频 | 高清视频免费在线观看 | 视色影视| 亚洲码无人客一区二区三区 | 国产毛片aaa | 500福利视频导航 | 日韩一级在线观看视频 | 亚洲大尺度在线观看 | 岛国精品视频 | 肉感丰满的av演员 | 亚洲性精品| 国产精品视频专区 | 国产aⅴ精品一区二区三区久久 | 日本一区二区在线免费 | 日本高清一区二区视频 | 日韩有码第一页 | 亚洲av人人澡人人爽人人夜夜 | yellow免费在线观看 | 久草成人 | 国产视频九色蝌蚪 | 成人日批 | 欧美日本 | 国产91丝袜在线播放九色 | 久久久久久97 | 琪琪色综合 | 久久综合色鬼 | 日本黄色免费大片 | 亚洲人午夜精品 | 黄视频网站在线看 | 一区二区国产视频 | 国产日产精品一区二区三区四区 | 九九在线精品视频 | 中日韩在线视频 | 国产伦视频 | 自拍偷拍欧美视频 | 国产一区二区三区免费观看 | 精品亚洲精品 | 国产一区二区精品在线 | 欧美午夜精品一区二区三区电影 | 鲁鲁久久 | 中文字幕在线三区 | 日韩人妻无码精品久久免费 | 四虎影视永久 | 色视频在线免费观看 | 国产欧美精品在线 | 免费黄色看片 | 另类中文字幕 | 网站黄色在线观看 | 高清不卡一区二区三区 | 免费大黄网站 | 色一情一区二区三区 | 精品福利视频导航 | 一区二区在线观看免费视频 | 欧美大尺度视频 | 欧美性生活在线视频 | 污的网站 | 国产精品视频免费观看 | 国产日韩亚洲欧美 | 亚洲欧美在线成人 | 最新中文字幕在线视频 | 日日夜夜狠狠爱 | 日韩精品一区二区在线视频 | 欧美99久久精品乱码影视 | 中文字幕日韩久久 | 一色av| 操的网站 | 日本免费在线播放 | 亚洲视频免费在线观看 | 丁香花电影免费播放在线观看 | 午夜影视在线观看 |