位置: IT常识 - 正文

SQL代码编码原则和规范(sql代码大全)

编辑:rootadmin
SQL代码编码原则和规范

推荐整理分享SQL代码编码原则和规范(sql代码大全),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql代码是什么意思,sql编码格式,sql代码编码原则是什么,sql代码编码原则是什么,sql代码大全,sql代码是什么意思,sql代码编码原则是什么,sql 编码,内容如对您有帮助,希望把文章链接给更多的朋友!

目录专栏导读1、先了解MySQL的执行过程2、数据库常见规范3、所有表必须使用Innodb存储引擎4、每个Innodb表必须有个主键5、数据库和表的字符集统一使用UTF86、查询SQL尽量不要使用select *,而是具体字段7、避免在where子句中使用 or 来连接条件8、尽量使用数值替代字符串类型9、使用varchar代替char10、财务、银行相关的金额字段必须使用decimal类型11、避免使用ENUM类型12、去重distinct过滤字段要少13、where中使用默认值代替null14、避免在where子句中使用!=或<>操作符15、inner join 、left join、right join,优先使用inner join16、提高group by语句的效率17、清空表时优先使用truncate18、操作delete或者update语句,加个limit或者循环分批次删除19、UNION操作符20、SQL语句中IN包含的字段不宜过多21、批量插入性能提升22、表连接不宜太多,索引不宜太多,一般5个以内23、禁止给表中的每一列都建立单独的索引24、如何选择索引列的顺序25、对于频繁的查询优先考虑使用覆盖索引26、建议使用预编译语句进行数据库操作27、避免产生大事务操作28、避免在索引列上使用内置函数29、组合索引30、复合索引最左特性31、必要时可以使用force index来强制查询走某个索引32、优化like语句33、统一SQL语句的写法34、不要把SQL语句写得太复杂35、关于临时表36、将大的DELETE,UPDATE、INSERT 查询变成多个小查询37、使用explain分析你SQL执行计划38、读写分离与分库分表39、使用合理的分页方式以提高分页的效率40、尽量控制单表数据量的大小,建议控制在500万以内。41、谨慎使用Mysql分区表42、尽量做到冷热数据分离,减小表的宽度43、禁止在表中建立预留字段44、禁止在数据库中存储图片,文件等大的二进制数据45、建议把BLOB或是TEXT列分离到单独的扩展表中46、TEXT或BLOB类型只能使用前缀索引47、一些其它优化方式专栏导读

🏆作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪 ,专注Java硬核干货分享,立志做到Java赛道全网Top N。

🏆本文收录于Java基础教程系列(进阶篇),本专栏是针对大学生、初级Java工程师精心打造,针对Java生态,逐个击破,不断学习,打通Java技术栈。

🏆订阅后,可以阅读Java基础教程系列(进阶篇)中全部文章,包含Java基础、Java高并发、Spring、MySQL等Java进阶技术栈。

🏆还可以订阅其姐妹篇,Java基础教程系列,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。

SQL代码编码原则和规范(sql代码大全)

🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师。

🏆面试福音:10万字208道Java经典面试题总结(附答案)

1、先了解MySQL的执行过程

了解了MySQL的执行过程,我们才知道如何进行sql优化。

客户端发送一条查询语句到服务器;服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据;未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL解析器将使用MySQL语法进行验证和解析。例如,验证是否使用了错误的关键字,或者关键字的使用是否正确;预处理是根据一些MySQL规则检查解析树是否合理,比如检查表和列是否存在,还会解析名字和别名,然后预处理器会验证权限;根据执行计划查询执行引擎,调用API接口调用存储引擎来查询数据;将结果返回客户端,并进行缓存;

2、数据库常见规范所有数据库对象名称必须使用小写字母并用下划线分割;所有数据库对象名称禁止使用mysql保留关键字;数据库对象的命名要能做到见名识意,并且最后不要超过32个字符;临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀;所有存储相同数据的列名和列类型必须一致;3、所有表必须使用Innodb存储引擎

没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5.6以后默认的为Innodb)。

Innodb 支持事务,支持行级锁,更好的恢复性,高并发下性能更好。

4、每个Innodb表必须有个主键

Innodb是一种索引组织表:数据的存储的逻辑顺序和索引的顺序是相同的。每个表都可以有多个索引,但是表的存储顺序只能有一种。

Innodb是按照主键索引的顺序来组织表的

不要使用更新频繁的列作为主键,不适用多列主键;不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长);主键建议使用自增ID值;5、数据库和表的字符集统一使用UTF8

兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效,如果数据库中有存储emoji表情的需要,字符集需要采用utf8mb4字符集。

6、查询SQL尽量不要使用select *,而是具体字段

select *的弊端:

增加很多不必要的消耗,比如CPU、IO、内存、网络带宽;增加了使用覆盖索引的可能性;增加了回表的可能性;当表结构发生变化时,前端也需要更改;查询效率低;7、避免在where子句中使用 or 来连接条件使用or可能会使索引失效,从而全表扫描;对于or没有索引的salary这种情况,假设它走了id的索引,但是走到salary查询条件时,它还得全表扫描;也就是说整个过程需要三步:全表扫描+索引扫描+合并。如果它一开始就走全表扫描,直接一遍扫描就搞定;虽然mysql是有优化器的,处于效率与成本考虑,遇到or条件,索引还是可能失效的;8、尽量使用数值替代字符串类型因为引擎在处理查询和连接时会逐个比较字符串中每一个字符;而对于数字型而言只需要比较一次就够了;字符会降低查询和连接的性能,并会增加存储开销;9、使用varchar代替charvarchar变长字段按数据内容实际长度存储,存储空间小,可以节省存储空间;char按
本文链接地址:https://www.jiuchutong.com/zhishi/294517.html 转载请保留说明!

上一篇:Echarts地图的基本使用方法(echarts地图参数设置)

下一篇:Vue3的vue-router超详细使用(vue–router)

  • etc补缴费如何网上补缴(etc如何补缴费)

    etc补缴费如何网上补缴(etc如何补缴费)

  • 小米10是不是三星屏幕(小米10是不是三星屏)

    小米10是不是三星屏幕(小米10是不是三星屏)

  • 腾讯微视能进行直播吗(微视里的腾讯视频会员怎么用)

    腾讯微视能进行直播吗(微视里的腾讯视频会员怎么用)

  • 如何取消拼多多发出的好友申请(如何取消拼多多订单)

    如何取消拼多多发出的好友申请(如何取消拼多多订单)

  • 微信运动有什么作用(微信运动有什么办法让它不计步)

    微信运动有什么作用(微信运动有什么办法让它不计步)

  • pcm格式用哪种播放器(pcm格式音频)

    pcm格式用哪种播放器(pcm格式音频)

  • 抖音换绑由于服务维护怎么办(抖音换绑原因说明怎么写范本)

    抖音换绑由于服务维护怎么办(抖音换绑原因说明怎么写范本)

  • 企业微信视频会议每个人都能看到吗(企业微信视频会议最多几个人)

    企业微信视频会议每个人都能看到吗(企业微信视频会议最多几个人)

  • 鼠标左侧的两个按钮是干什么用的(鼠标左侧的两个按钮是干什么用的 鼠标介绍)

    鼠标左侧的两个按钮是干什么用的(鼠标左侧的两个按钮是干什么用的 鼠标介绍)

  • 微信通知不显示内容怎么设置(微信怎么收到消息不显示)

    微信通知不显示内容怎么设置(微信怎么收到消息不显示)

  • office一般在哪个盘(office软件是哪个)

    office一般在哪个盘(office软件是哪个)

  • 怎么把表格存到桌面(怎么把表格存到新建的文件夹里)

    怎么把表格存到桌面(怎么把表格存到新建的文件夹里)

  • 抖音怎么拍同款特效(抖音怎么拍同款换成自己照片)

    抖音怎么拍同款特效(抖音怎么拍同款换成自己照片)

  • 抖音忘记登录方式了(抖音忘记登录方式怎么办)

    抖音忘记登录方式了(抖音忘记登录方式怎么办)

  • 苹果手表4测评(苹果手表测评s8 s7)

    苹果手表4测评(苹果手表测评s8 s7)

  • 如何从qq音乐知道qq号(如何从qq音乐知道别人qq号)

    如何从qq音乐知道qq号(如何从qq音乐知道别人qq号)

  • 高德地图能横屏吗(高德地图能横屏导航吗)

    高德地图能横屏吗(高德地图能横屏导航吗)

  • 华为麦芒8怎么分屏(华为麦芒8怎么录屏)

    华为麦芒8怎么分屏(华为麦芒8怎么录屏)

  • 苹果手机对勾怎么打出来(苹果手机对勾在哪)

    苹果手机对勾怎么打出来(苹果手机对勾在哪)

  • 荣耀20pro充电需要多少时间(荣耀20pro充电速度有点慢)

    荣耀20pro充电需要多少时间(荣耀20pro充电速度有点慢)

  • vivo低电模式啥意思(vivo低电模式真的能省电吗)

    vivo低电模式啥意思(vivo低电模式真的能省电吗)

  • led灯坏了怎么换(客厅led灯坏了怎么换)

    led灯坏了怎么换(客厅led灯坏了怎么换)

  • oppor11有悬浮球功能吗(oppor11s悬浮球)

    oppor11有悬浮球功能吗(oppor11s悬浮球)

  • php程序首页栏目怎样修改(phpstudy网站首页设置)

    php程序首页栏目怎样修改(phpstudy网站首页设置)

  • iphonex3dtouch在哪设置

    iphonex3dtouch在哪设置

  • 苹果airpods盒子怎么关机(苹果Airpods盒子丢了)

    苹果airpods盒子怎么关机(苹果Airpods盒子丢了)

  • 猎豹安全大师如何卸载(猎豹安全大师怎么样)

    猎豹安全大师如何卸载(猎豹安全大师怎么样)

  • 穿越火线下载安装成功后玩不了是怎么回事?(穿越火线下载安装)

    穿越火线下载安装成功后玩不了是怎么回事?(穿越火线下载安装)

  • CMOS密码设置方法(cmos密码和bios密码)

    CMOS密码设置方法(cmos密码和bios密码)

  • 挂车交车船税吗
  • 房屋出租收到的租金会计分录
  • 固定资产开专票怎么记凭证
  • 管道安装固定方式
  • 销项发票能不能留抵
  • 季报企业所税缴税了,但年报是亏损的
  • 收到投资款怎么做会计凭证
  • 机动船舶缴纳车船税吗
  • 多开的增值税发票交多少税
  • 建筑清包工的账务处理
  • 付款时没有发票怎么做账
  • 未分配利润转增股本要交税吗
  • 快递费的进项税可以抵扣吗
  • 案例分析互联网巨头的战略计划
  • 企业国有资产无偿划拨管理暂行办法
  • 技术开发费税收优惠政策
  • 开个体户需要什么资料
  • 个体户开票要交印花税?
  • 办公设备发票开票内容
  • 个人出租商铺要交城镇土地使用税吗
  • 记账错误是什么意思
  • 预付维修费计入入账价值吗
  • wordpress网站打开很慢
  • 公司买了一辆二手汽车,怎么入账
  • 企业若需要给客户交税
  • PHP:pg_lo_import()的用法_PostgreSQL函数
  • 房贷贷款利息计算
  • 国有企业所得税政策
  • 跨年可以预提费用吗
  • chattr
  • 挖机出租给公司
  • 车间一般耗材计入
  • vue的常见面试题
  • 建设工程施工合
  • 金税盘全额抵扣分录
  • 政府性基金账务处理
  • 零申报季报怎么报税的具体流程
  • 公司购买黄金送客户可以取得进项抵税吗
  • discuz是啥
  • sql server概述
  • 个人独资企业需要缴纳哪些税种
  • 固定资产的核算内容包括
  • 固定资产入账怎么做凭证和入资产卡片?
  • 进项票未认证就申报抵扣
  • 物业电费加价如何处理
  • 折扣折让红字发票
  • 债务重组的方式不包括债务转为资本
  • 企业土地补偿款如何做账
  • 收到客户承兑怎么做账
  • 一般纳税人购进商品的会计分录
  • 逾期未缴税款法律依据
  • 企业如何建账做账
  • 商业会计的任务有哪些
  • centosgui
  • centos7如何安装yum命令
  • win7系统计算机管理功能打不开
  • Tech Ed 2008:HPC Server 2008讲解
  • ubuntu 16.04
  • vc++6.0运行程序
  • win8.1如何关闭开机密码
  • mac如何连接iphone
  • linux find命令忽略大小写
  • 阿里云服务器linux系统
  • win7旗舰版重装系统教程
  • WIN10系统英文怎么改中文?
  • 如何教新手
  • win7旗舰版怎么重装系统教程
  • win10预览版和正式版区别
  • windows8介绍
  • opengl es应用开发实践指南(android卷)pdf
  • unity的vs
  • unity入门教学
  • python的字符
  • unity火球特效
  • 快速解决偏头痛的6个方法
  • 树形菜单html
  • 全国税务系统12366纳税服务热线工作规范
  • 定额发票怎么查看有效期
  • 按期申报和按次申报的区别
  • 金税盘里的发票清单怎么导出
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设