首页 > 数据库 >SQL编写规范

SQL编写规范

时间:2023-07-03 10:11:35浏览次数:50  
标签:Join val SQL 规范 使用 MySQL 编写 select

SQL编写规范(1分钟上手)

原创 kingdom 数码百科 2023-06-28 00:45 发表于广东 收录于合集 #mysql12个 #数据库14个 #数据存储10个 #大数据11个 #数据仓库8个

 

图片

SQL编写规范

  1. 尽量避免使用select ,join语句使用select 可能导致只需要访问索引即可完成的查询需要回表取数

  2. 严禁使用select * from table而不加任何where条件

  3. MySQL中的text类型字段存储的时候不是和由其他普通字段类型的字段组成的记录存放在一起,而且读取效率本身也不如普通字段块。如果不需要取回text字段,又使用了select *,会让完成相同功能的sql所消耗的io量大很多,而且增加部分的io效率也更低下

  4. 在取出字段上可以使用相关函数,但应尽可能避免出现now(),rand(),sysdate(),current_user()等不确定结果的函数,在Where条件中的过滤条件字段上严禁使用任何函数,包括数据类型转换函数

  5. 所有连接的SQL必须使用Join … On …方式进行连接,而不允许直接通过普通的Where条件关联方式。外连接的SQL语句,可以使用Left Join On的Join方式,且所有外连接一律写成Left Join,而不要使用Right Join

  6. 分页查询语句全部都需要带有排序条件,除非应用方明确要求不要使用任何排序来随机展示数据

  7. WHERE条件中严禁在索引列上进行数学运算或函数运算

  8. 用in()/union替换or,并注意in的个数小于300

  9. 严禁使用%前缀进行模糊前缀查询:如:select id,val from table where val like ‘%name’;可以使用%模糊后缀查询如:select id,val from table where val like ‘name%’

  10. 严禁使用INSERT ON DUPLICATE KEY UPDATE、REPLACE INTO、INSERT IGNORE

 

MySQL 8的SQL执行过程和执行顺序

MySQL8 之执行计划详解

3分钟MySQL 快速入门及日志和数据文件认识

 

收录于合集 #mysql  12个 上一篇MySQL 数据库软优化看这一篇就够了下一篇flink 入门实操demo 篇 阅读 104   数码百科 73篇原创内容     写下你的留言      

标签:Join,val,SQL,规范,使用,MySQL,编写,select
From: https://www.cnblogs.com/cherishthepresent/p/17522055.html

相关文章

  • MySql管理
    系统数据库 常用工具 mysqlmysql-uroot-p123456itcast-e"select*fromstudent"---e前要加具体数据库mysqladmin mysqlbinlog mysqlshow mysqldump--数据备份,在windows命令行下执行,不需要在mysql命令行下执行----single-transacti......
  • 1.5 编写自定位ShellCode弹窗
    在笔者上一篇文章中简单的介绍了如何运用汇编语言编写一段弹窗代码,虽然简易ShellCode可以被正常执行,但却存在很多问题,由于采用了硬编址的方式来调用相应API函数的,那么就会存在一个很大的缺陷,如果操作系统的版本不统或系统重启过,那么基址将会发生变化,此时如果再次调用基址参数则会......
  • 如何在AutoCAD中快速加载SQL Server、MySql、PostgreSQL数据库中的矢量数据?
    借助GIS4CAD插件能快速将SQLServer、MySql、PostgreSQL数据库中的矢量数据加载到AutoCAD,通过将矢量数据与数据库相结合,您可以更好地管理和分析您的CAD数据。方法/步骤下载并安装GIS4CAD插件http://www.geosaas.com/download/gis4cad.exe 下载并安装GIS4CAD插件,安装成功......
  • 如何在AutoCAD中快速将矢量数据导出到SQL Server、MySql、PostgreSQL数据库?
    在AutoCAD中借助GIS4CAD插件能快速将矢量数据导出到SQLServer、MySql、PostgreSQL数据库,通过将矢量数据与数据库相结合,您可以更好地管理和分析您的CAD数据。方法/步骤下载并安装GIS4CAD插件http://www.geosaas.com/download/gis4cad.exe 下载并安装GIS4CAD插件,安装成功......
  • 龙蜥7.9 rpm安装mysql
    1、拿到下图几个rpm包2、依次执行如下安装命令rpm-ivhmysql-community-common-5.7.19-1.el7.x86_64.rpm--nodeps--forcerpm-ivhmysql-community-libs-5.7.19-1.el7.x86_64.rpm--nodeps--forcerpm-ivhmysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm--nodep......
  • mysql性能优化(博学谷)
      索引可以理解为一本书的目录,也是占页数,占存储空间的。key(关键字)-value(磁盘地址或行记录)。 根据关键字去索引里面查,数据结构是B+数,查询速度快。   哈希冲突: 通过key(k1,k2)的hashcode()获取哈希值,经过算法取得在数组上得下标位置,2个key取到了同一个下标,这就是哈希......
  • BackUpLogView 系列 - 生成日志数据库脚本(MS Sql Server)
     在企业管理器中执行脚本CREATEDATABASE[BackupLogview]ONPRIMARY(NAME=N'BackupLogview',FILENAME=N'C:\DATA\BackupLogview.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)LOGON(NAME=N'BackupLogview_log',F......
  • SQL注入之Oracle手工注入
    0x00.Oracle注入1.Oracle的数据类型是强匹配的(MYSQL有弱匹配的味道),所以在Oracle进行类似UNION查询数据时候必须让对应位置上的数据类型和表中的列的数据类型是一致的,也可以使用null代替某些无法快速猜测出数据类型的位置。1.基础知识//注释符多行注释:/**/,单行注释:--1......
  • 【springboot】springboot集成mysql
    在pom.xml增加依赖的坐标<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.1</version></dependency><!--<dependency&......
  • MySql —— 数据页与索引
    数据库的I/O操作的最小单位是页,InnoDB数据页的默认大小是16KB,意味着数据库每次读写都是以16KB为单位的,一次最少从磁盘中读取16K的内容到内存中,一次最少把内存中的16K内容刷新到磁盘中。数据页包括七个部分       在FileHeader中有两个指针,分别指向上......