位置: 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)

  • 色素分子主要存在于哪里(色素构成)

    色素分子主要存在于哪里(色素构成)

  • 皮皮虾图片暂时无法保存(皮皮虾图片暂时无法保存为什么)

    皮皮虾图片暂时无法保存(皮皮虾图片暂时无法保存为什么)

  • 微信语音截图并播放怎么操作(微信语音截图并播放怎么操作苹果手机)

    微信语音截图并播放怎么操作(微信语音截图并播放怎么操作苹果手机)

  • 四曲面屏是什么意思(四曲面屏容易碎吗)

    四曲面屏是什么意思(四曲面屏容易碎吗)

  • 快手7天无理由退货规则(快手7天无理由退货运费谁出)

    快手7天无理由退货规则(快手7天无理由退货运费谁出)

  • 微信语音播放失败怎么办(微信语音播放失败怎么办oppo)

    微信语音播放失败怎么办(微信语音播放失败怎么办oppo)

  • 抖音重复播放算次数吗(抖音重复播放会重复消耗流量吗)

    抖音重复播放算次数吗(抖音重复播放会重复消耗流量吗)

  • 苹果手机屏幕变白变淡(苹果手机屏幕变成黑色怎样调回来)

    苹果手机屏幕变白变淡(苹果手机屏幕变成黑色怎样调回来)

  • vivo手机怎样把即刻天气添加到桌面(vivo手机怎样把游戏隐藏起来)

    vivo手机怎样把即刻天气添加到桌面(vivo手机怎样把游戏隐藏起来)

  • 苹果平板下载不了软件怎么回事(苹果平板下载不了app)

    苹果平板下载不了软件怎么回事(苹果平板下载不了app)

  • 没有面容的x有影响吗(无面容的x)

    没有面容的x有影响吗(无面容的x)

  • 抖音好友列表怎么没了(抖音好友列表怎么关闭)

    抖音好友列表怎么没了(抖音好友列表怎么关闭)

  • 苹果x美版基带是高通吗(iphonexs美版基带)

    苹果x美版基带是高通吗(iphonexs美版基带)

  • 小角标数字怎么打(角标数字怎么打手机)

    小角标数字怎么打(角标数字怎么打手机)

  • 华为jat一tloo是什么型号(华为 rio-tl00)

    华为jat一tloo是什么型号(华为 rio-tl00)

  • ipad 6th是什么型号(ipad6属于什么型号)

    ipad 6th是什么型号(ipad6属于什么型号)

  • 乐视2手机怎么拆(乐视2手机怎么强制恢复出厂设置)

    乐视2手机怎么拆(乐视2手机怎么强制恢复出厂设置)

  • 快手极速版怎样收藏作品(快手极速版怎样领金币)

    快手极速版怎样收藏作品(快手极速版怎样领金币)

  • 手机如何永久屏蔽网站(手机如何永久屏蔽一个软件)

    手机如何永久屏蔽网站(手机如何永久屏蔽一个软件)

  • 设置表格边框为5磅蓝色双线(设置表格边框为0)

    设置表格边框为5磅蓝色双线(设置表格边框为0)

  • 拼多多免费发红包在哪(拼多多免费发红包怎么发)

    拼多多免费发红包在哪(拼多多免费发红包怎么发)

  • Win10 Dev 预览版 20279(FE_RELEASE)更新详解(win10 dev版本)

    Win10 Dev 预览版 20279(FE_RELEASE)更新详解(win10 dev版本)

  • 【毕业设计】疲劳驾驶检测系统 - python 深度学习(毕业设计烦死了)

    【毕业设计】疲劳驾驶检测系统 - python 深度学习(毕业设计烦死了)

  • OpenPCDet 训练自己的数据集详细教程!(opencv制作训练数据集)

    OpenPCDet 训练自己的数据集详细教程!(opencv制作训练数据集)

  • pyqt5在python中调出提示框(pyqt5 pycharm)

    pyqt5在python中调出提示框(pyqt5 pycharm)

  • 织梦实现三级多级栏目嵌套调用教程(织梦如何使用)

    织梦实现三级多级栏目嵌套调用教程(织梦如何使用)

  • 减免附加税怎么填报
  • 业务招待费报销要求
  • 投标报名费开什么类别发票
  • 普通发票作废影响额度吗
  • 金税系统怎么录入专票
  • 个体工商户取得经营所得的个人自行申报缴纳个人所得税
  • 企业所得税大白话解释
  • 没收不还
  • 可税前扣除的工资
  • 个人以房产进行交易
  • 平均房租
  • 建筑业确认主营业务收入
  • 收到单位预交卖材料款如何做会计分录?
  • 个人机械租赁怎么纳税
  • 集体土地上的不动产能符合异议28条规定吗
  • 免税企业收到的专用发票要怎么转出
  • 资产减值损失汇算清缴调整表
  • 股权转让怎么缴纳个人所得税
  • 日常管理的基本内容及方法是什么
  • 商贸公司进货的会计分录
  • 会议费税前扣除最新税务规定
  • 分配股利在报表中怎么填
  • 出口货物免抵退税额确认会计分录
  • 商贸公司怎么结算成本
  • 跨年度的收入如何做分录
  • 企业三大期间费用是什么
  • 非公开发行股票是利好还是利空
  • 法人借给公司钱怎么备注
  • win7怎么添加设备
  • ghost windows10安装教程
  • 企业发行股票的会计分录
  • 双色球python算法
  • 支付水电费增值税账务处理
  • 临时工工资计入哪里
  • 今日清明是清明开始还是结束
  • js防抖函数和节流函数
  • python有没有指针
  • 微擎框架可以干什么
  • 流动资产的含义及常见项目
  • 账户验证交易
  • 房租发票需要写备注吗
  • php去掉最后一个逗号
  • 超过认证期限的发票未抵扣能红冲吗
  • 关于转租电费收取规定
  • 固定资产哪几类
  • 个体工商户季度超过9万怎么交税
  • 劳务外经证预缴税款
  • 纳税调整调减有哪些
  • 增值税抵扣了,主要成本怎么算
  • 医院要发票
  • 专利年费可以计入研发费用加计扣除吗
  • 小规模增值税税率2023
  • 职工教育经费还有什么经费
  • 出售金融商品的增值税计税依据
  • 冲销以前月份的凭证
  • 疫情期间免征什么税
  • 发现以前年度假期不满
  • 税盘减免税款怎么做账
  • 单利率和复利率公式
  • 增值税留抵退税最新政策
  • 金蝶k3如何反记账
  • 应付账款是已经付了还是没付
  • linux make命令怎么用
  • centos bond mode
  • centos at命令
  • sata驱动怎么装
  • win8cp
  • win7暗藏的超实用快捷键汇总
  • win8.1删除所有内容并重新安装
  • linux修复工具
  • win10累积更新卡在正在下载
  • undefined reference to pthread
  • perl ne
  • 网页css加载失败
  • nodejs操作mysql
  • js行号显示的文字不一样
  • jquery获取页面元素
  • 广告轮播图片素材
  • 白盘怎么开具红字专用发票
  • 电子税务局怎么添加银行账户信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设