版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GuidelinesforopenGaussdatabase Q/CIB4001—2023强制注:按照GB/T15834—2011中对于“方头括号()”的用法,【强制】用于标示被注释的条款效力。[来源:GB/T15834—2011,4.9,有修改]建议注:按照GB/T15834—2011中对于“方头括号()”注:命名由【限定词术语(0..n)】[对象类术语(11)]组成,最后一项是编号、代码、金额、标志等desc/group/where/like键字命名表或列,禁止以pg_,gs_开头。可以使用select*frompg_get_keywords()在数据库中查询createtabletestdb.test_t1(idcreatetabletestdb.test_t1(idintnotnullprimarykey,students_countcreatecreatetabletestdb.test_t1(idintnotnullprimarykey,countcreatetablecreatetabletestdb.tmp_test_t1_20221010(idintprimarykey,c唯一索引名为uk_字段名(或缩写);普通索引名则为idx_字段名(或缩写);用语主键的索引以pk_fkck开头。createviewtestdb.v_test_t1createviewtestdb.v_test_t1asfromtestdb.test_t1asacreatecreateviewtestdb.test_t1asfromtestdb.test_t1asaselect*--idselect--idselectcol1,...fromtestdb.test_t1whereselectcol1,...fromtestdb.test_t1where【建议】whereselectcol1,...fromselectcol1,...fromtestdb.test_t1where current_timestamp(6)-'1days'::interval;selectselectcol1,...fromtestdb.test_t1whereselectid,from_image_id,from_person_id,from_video_idfromface_datawherecurrent_timestamp(6)-<'1NULL值的比较只能使用ISNULL或ISNOTNULL的方式判断,其他任何形式的逻辑判断都返回NULLselectcol1,...fromselectcol1,...fromtestdb.test_t1whereidisselectselectcol1,...fromtestdb.test_t1whereid=selectidfromselectidfromtestdb.test_t1whereidlikeselectselectidfromtestdb.test_t1whereidlikeselectcol1fromselectcol1fromtestdb.test_t1wheretest_idin(1,2,...,99,101,102,...150)selectselectcol1,...fromtestdb.test_t1wheretest_id!=UNIONALLunionunionall在保障业务逻辑准确的情况下,如果过滤条件只有OR表达式,可以将OR表达式转化为UNIONALL以SELECT*FROMscdc.pub_menuWHERE(cdp=300SELECT*FROMscdc.pub_menuWHERE(cdp=300ANDinline=301)unionallSELECT*FROMscdc.pub_menuWHERE(cdp=301ANDinline=302)unionallSELECT*FROMWHERE(cdp=302ANDSELECTSELECT*FROMWHERE(cdp=300ANDinline=301)OR(cdp=301ANDinline=302)OR(cdp=302AND【建议】可以使用(notexist(not可考虑使用(not)exist代替(not)in。SELECTSELECT*FROMT1WHERENOTEXISTS *FROMT2WHERESELECT*FROMSELECT*FROMT1WHERET1.C1NOTIN(SELECTT2.C2FROM输出,要根据业务逻辑确认其输出是否为NOTNULL。count((col1,col2,col3)count((col1,col2,col3)insertintotestdb.test_t1(id,name)insertintotestdb.test_t1(id,name)valuesinsertinsertinto valuesdeletedelete,从库处理时,可能由于deletedeletefromtestdb.test_t1deletefromtestdb.test_t1whereid>10000anddeletefromtestdb.test_t1whereid>20000and--test_t1--test_t1有大量数据满足id>10deletefromtestdb.test_t1whereid>10;insertintotestdb.test_t1(id,name)insertintotestdb.test_t1(id,name)values(1,'openGauss'),(2,insertinsertintotestdb.test_t1(id,name)values(1,insertintotestdb.test_t1(id,name)values(2,analyze示例:analyze如果要清理表中的所有数据,宜使用truncatetable方式,不要使用deletetable方式。deleteselectselectcount(*)fromuuiduuid。createindex4update、deleteindexcreateindexconcurrentlyDMLmaintenance_work_mem(seral2seral4seral8createtablecreatetabletable1(idserial,info1:应避免在wherepartialindexcreateindexidx_1createindexidx_1ontable_1(id)wherecol<>3:likecollateCbtreecreateindexidx_2createindexidx_2ontable_1usingbtree(idcollate(即默认表空间所在的存储设备,如磁盘)以外的其他存储介质使用,以隔离不同业务可以使用的IO除、切割、合并、清空、交换分区操作不申明UPDATEGLOBALINDEX子句,将会导致索引失效。若此索openGauss时间字段类型有timestampwithtimezone,使用timestamptz时,采用GMT/UTC时间,0selects.id,count(1)selects.id,count(1) staffs_p1sleft filmsfonf.did=s.idgroupbySELECTSELECTid,(SELECTCOUNT(*)FROMfilmsfWHEREf.did=s.id)FROMstaffs_p13个或3易读性使用了子查询,子查询数量宜限定在3个以内。过多的子查询特别是涉及大表时,影响整体sqlselect(selecta.idselect(selecta.idfromtestdb.test_t1asawhere...)fromtestdb.test_t2asbwhereb.id=(selectc.pidtestdb.test_t3ascwhere...)=(selectd.target_namefromtestdb.t4asdwhereselectselect(selecta.idfromtestdb.test_t1asawhere...)fromtestdb.test_t2asbwhereb.id=(selectc.pidfromtestdb.test_t3ascwhere...)and=(selectd.target_namefromtestdb.test_t4asdwhere...)andb.age=(selecte.agetestdb.test_t5asewhere超过3张表或视图进行关联(特别是FULLJOIN)时,执行代价难以估算。宜使用WITHTABLEAS语WITHorder_detailsWITHorder_detailsAS(customer_namesAS(product_namesAS(order_detailsodINNERJOINcustomer_namescnONod.customer_id=cn.customer_idINNERJOINproduct_namespnONduct_id=资源开销。openGaussASE&NULLLASTORDERBY(ASE/DESC),NULL(NULLFIRST/NULLLAST)。不要单独依赖limit子句返回特定顺序的结果集。如果部分特定结果集,可以将ORDERBY子句与selectid,namefromselectid,namefromtestdb.test_t1whereidbetween1and10orderbynamelimitselectselectid,namefromtestdb.test_fromtestdb.test_t1asajointestdb.test_t2asbonselectnamefromtestdb.test_t1test_t1;selectnamefromtestdb.test_t1jointestdb.test_t2oncreatetabletestdb.test_t1(student_idint(10)comment'学号',classesvarchar(30createtabletestdb.test_t1(student_idint(10)comment'学号',classesvarchar(30comment班级',constraintid_pkprimary)createcreatetabletestdb.test_t1(student_idint(10),cidconstraintid_pkprimary)updatetestdb.test_t1updatetestdb.test_t1setage=18whereid=2;deletefromtestdb.test_t1whereupdatetestdb.test_t1setage=18;deletedeletefromtestdb.test_t1where1:文件数据通常很大,转成二进制数据是一串很长的字符串,对数据库的存储空间占用很大,在数据库读写时会消耗内存和占用大量的IO注注:按照企业标准Q/CIB4001—2023要求,编码字符集不应使用GBKselectdatname,datcollate,datctypeselectdatname,datcollate,datctypefromallprivilegepg_hba.confpublic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度生物制药研发技术服务转让合同4篇
- 二零二五年度派遣企业信息安全顾问合同4篇
- 2025年度模具租赁与绿色制造技术合同4篇
- 2025年度打桩工程施工组织设计与现场管理合同范本4篇
- 二零二五版农村房屋产权登记农民房屋买卖合同4篇
- 2025年度虚拟现实技术应用出资合同4篇
- 大数据可视化分析-第1篇-深度研究
- 2025年度存量房屋买卖合同(含房产交易手续办理指导)3篇
- 二零二五年度农民公寓租赁合同终止及清算协议2篇
- 二零二五年度酒店厨房设备升级改造合同4篇
- 教育部《中小学校园食品安全和膳食经费管理工作指引》知识培训
- 初一到初三英语单词表2182个带音标打印版
- 2024年秋季人教版七年级上册生物全册教学课件(2024年秋季新版教材)
- 环境卫生学及消毒灭菌效果监测
- 2024年共青团入团积极分子考试题库(含答案)
- 碎屑岩油藏注水水质指标及分析方法
- 【S洲际酒店婚礼策划方案设计6800字(论文)】
- 铁路项目征地拆迁工作体会课件
- 医院死亡报告年终分析报告
- 中国教育史(第四版)全套教学课件
- 2023年11月英语二级笔译真题及答案(笔译实务)
评论
0/150
提交评论