品牌网站建设 1蝌蚪小/爱站工具包官网下载
在和数据库打交道中,不管是数据库管理员(DBA)还是开发人员,经常会做一些CURD操作。因为每个人对数据库的了解程度不一样,所以在项目上线时,往往还需要专职人员对数据库的CURD操作进行审核,确保CURD的规范,来保障生产数据库的稳定。
在业内,很多数据库产品都有自己的一套“军规”,这些“军规”保证了数据库操作的规范和运行的稳定。
安全、可靠的 SQL 开发
NineData 的「SQL 开发」是一个安全、高效、可靠的数据库开发平台,面向数据库使用者和管理者。
除了可以替代Navicat、DBeaver这些工具外,还可以为企业制定SQL开发规范,提供超 100 条 SQL 规范审核,可以更加安全、高效、规范地管理多类数据库实例。
目前支持主流商业和开源数据库:Oracle、MySQL、SQL Server、PostgreSQL、MongoDB、Redis、OceanBase、Doris、DWS、DB2、SelectDB、达梦、人大金仓等等,现在还在持续增加对不同数据库类型的支持。
下面以 MySQL 数据库类型为例,简单的从结构、查询与更新、SQL 任务与窗口三方面来介绍如何为企业制定最合适的SQL开发规范。
结构
生产环境规范-结构
表必须有主键
INNODB表的主键(聚簇索引)保存了索引和数据行,并且二级索引的叶子节点也保存了主键值。如果没有定义主键,则会优先使用非空唯一索引来代替,如果没有唯一索引,则会使用内部隐藏的主键。所以新增表j建议有主键。
表必须包含指定列
随着业务的快速发展,数据表存储的行数破亿后,对该表的DDL和查询可能都会变慢,此时就需要对该表进行冷数据归档,作为归档的条件之一就是时间字段,保证归档可以按照时间进行。所以新增表建议有创建时间字段。
表必须指定引擎和备注
在MySQL 8.0中,默认已经不包含任何MyISAM表,所以在创建表的时,可以限制表的引擎,在高并发和高性能的场景下,推荐使用INNODB(支持事务、行锁),并且也需要设置各个列和表的备注,保证表的可读性。
适配大表OnlineDDL
线上数据库常常面临着持续的、不断变化的表结构修改(DDL),如增加、更改、删除字段和索引等等,其中一些DDL操作会锁表,影响线上服务。
通过「OnlineDDL:大表结构变更风险检测」和「OnlineDDL 配置」的规范,不仅可以提前告知,而且还能对不支持OnlineDDL的DDL语句进行转换,实现了自适应Online DDL的能力。
如果匹配到这些规范后,其中之一会出现如下图所示的说明:
生产环境规范-审核说明
查询与更新
生产环境规范-查询与更新
SELECT 语句不建议使用 *
* 表示所有字段,可能会导致不必要的数据加载和传输,尤其是当表中包含大量字段或大型数据类型时。这样做会降低查询效率,增加内存和网络的负担,并可能包含不需要的数据。建议使用指定的字段来替换*,保证SQL的可读性。
WHERE 条件中检测字段是否存在隐式类型转换
隐式类型转换可能导致索引失效,从而引起全表扫描。增加额外的计算开销,影响查询效率,甚至产生错误的结果,使用该规则可以提前发现并进行干预。
OnlineDML:大表数据变更风险检测
变更大数据量的 DML 语句(Update、Delete、Insert Into Select ),会阻塞其他正常 DML 操作,存在“锁表”风险。
使用 NineData OnlineDML,将单个 SQL 拆分成多个批次执行,以实现“不锁表”的数据变更。使用该规则,可以自动进行“分片”处理,无需关心影响的行数。
如果匹配到这些规范后,其中之一会出现如下图所示的说明:
SQL 任务与窗口
SQL 任务与窗口
SQL窗口单次查询最大返回行数
为了防止恶意刷数据,可以通过该规范限制SQL返回结果的行数,保证数据的安全,并通过限制 SQL 窗口编辑结果集,进一步保证数据的安全。
SQL窗口 DDL/DML/DQL 执行时间窗口
线上业务都有发布窗口,一般都在低峰期进行发布和执行DDL、DML、DQL,非窗口时间不能执行,通过该规范能进一步保障数据库和业务的稳定性。
SQL窗口查询超时时间控制
通过SQL窗口查询线上数据库,如果SQL执行的时间比较长,会影响正常的业务SQL,通过该规范能进一步保障数据库和业务的稳定性。
如果匹配到这些规范后,其中之一会出现如下图所示的说明:
生产环境规范-审核说明
总结
通过本篇文章的介绍说明,可以了解到,NineData的「SQL 开发」可以为企业制定SQL开发规范,提供了企业级管控和安全协作能力,超 100 条 SQL 规范审核,更加高效、规范地管理多类数据库实例。
即使没有专职人员对线上数据库的CURD操作进行审核,通过NineData 的SQL开发规范,也能最大程度的保障数据库的安全和稳定。
此外,作为开箱即用的SQL开发工具,在支持多种数据库、多个云环境的前提下,推出了永久免费的个人版和带有企业级管控、安全协作的企业版,满足企业最高的数据安全合规要求。
目前,SQL 开发企业版和 SQL 开发专业版现提供 90 天的试用,您可以在这期间完整体验规格为20实例的所有功能。
相关文章:

NineData支持制定安全、可靠的SQL开发规范
在和数据库打交道中,不管是数据库管理员(DBA)还是开发人员,经常会做一些CURD操作。因为每个人对数据库的了解程度不一样,所以在项目上线时,往往还需要专职人员对数据库的CURD操作进行审核,确保C…...

LSTM时间序列预测
本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:【1】演示:基于LSTM深度学习网络预测时间序列(MATLAB工具箱)_哔哩哔哩_bilibili % Forecast of time series based on LSTM deep learn…...

Rocky8 顺利安装 Airflow 并解决数据库报错问题
rocky是替代centos的服务器系统,稳定可靠。rocky8会比centos7新,可以支持更多服务软件的安装,免去升级各种库的麻烦,本文运行airflow服务就用rocky8系统。airflow是一个定时任务管理系统,功能强大,目前是ap…...

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-3 线性二次型调节器(LQR)
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-3 线性二次型调节器(LQR) 1. 数学推导2. 案例反洗与代码详解 1. 数学推导 2. 案例反洗与代码详解...

Eyes Wide Shut? Exploring the Visual Shortcomings of Multimodal LLMs
大开眼界?探索多模态模型种视觉编码器的缺陷。 论文中指出,上面这些VQA问题,人类可以瞬间给出正确的答案,但是多模态给出的结果却是错误的。是哪个环节出了问题呢?视觉编码器的问题?大语言模型出现了幻觉&…...

汤姆·齐格弗里德《纳什均衡与博弈论》笔记(4)博弈论与人性
第五章 弗洛伊德的梦——博弈和大脑 大脑和经济学 曾经有一段时间——就像在弗洛伊德的年代——心理学家们无法准确地回答人类行为背后的大脑机制。但随着现代神经科学的兴起,情形改变了。比如,人类的情绪不再像过去一样是个谜。科学家们可以观察当人们…...

MacOS平台翻译OCR软件,双管齐下,还可自定义插件,为其添砖加瓦!
小编昨天为大家分享了Windows系统下的一款功能强大且免费的 OCR 开源工具 Umi-OCR。 今天则为大家推荐一款 MacOS系统下的一款 翻译 OCR 多功能双管齐下的桌面应用软件 Bob。这款软件虽然也上线了GitHub,但它不是一款开源软件,仓库只是作者为了用户反馈…...

使用docker配置semantic slam
一.Docker环境配置 1.拉取Docker镜像 sudo docker pull ubuntu:16.04拉取的为ununtu16版本镜像,环境十分干净,可以通过以下命令查看容器列表 sudo docker images 如果想删除多余的docker image,可以使用指令 sudo docker rmi -f <id&g…...

面试常问的Spring AOP底层原理
AOP底层原理可以划分成四个阶段:创建代理对象阶段、拦截目标对象阶段、调用代理对象阶段、调用目标对象阶段 第一阶段:创建代理对象阶段 通过getBean()方法创建Bean实例根据AOP的配置匹配目标类的类名,判断是否满足切…...

C++拾遗(四)引用与指针
引用和指针是两种不同的概念,尽管它们在某些方面有一些相似之处,但它们在功能和用途上是有所区别 声明与定义 引用:引用是别名,是对已存在变量的另一个称呼,一旦一个变量被引用,就不能再被引用其他变 量…...

k8s架构、工作流程、集群组件详解
目录 k8s概述 特性 作用(为什么使用) k8s架构 k8s工作流程 k8s集群架构与组件 核心组件详解 Master节点 Kube-apiserver Kube-controller-manager Kube-scheduler 存储中心 etcd Node Kubelet Kube-Proxy 网络通信模型 容器引擎 k8s核…...

CF1362C Johnny and Another Rating Drop(二进制、复杂度考虑)
看完数据范围 n ∈ [ 1 , 1 e 18 ] n\in[1,1e18] n∈[1,1e18]就可以先猜一下要不是可以直接推公式,不能暴力去做,更不能遍历一遍,又看到这种2进制的题目,要猜是不是 l o g log log级别的复杂度。 可以依次考虑每一位 所有 i % 2 …...

1 - 搭建Redis数据库服务器|LNP+Redis
搭建Redis数据库服务器|LNPRedis 搭建Redis数据库服务器相关概念Redis介绍安装RedisRedis服务常用管理命令命令set 、 mset 、 get 、 mget命令keys 、 type 、 exists 、 del命令ttl 、 expire 、 move 、 flushdb 、flushall 、save、shutdown 配置文件解析 LNP …...

米贸搜|Facebook“精准营销”越来越难?或许是“受众定位”没彻底搞清!
一、为何要确定目标受众 对于每个广告主而言,面向最有可能成为其客户的用户营销非常重要,因此,确定目标受众,是Facebook广告投放中极其重要的一环。 二、什么是目标受众? 目标受众是您希望向其传达营销信息…...

【C++】内存分区模型
目录 1.程序运行前 2.程序运行后 3. new操作符 3.1 基本语法 3.2 开辟数组 C程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区: 存放全局变量和静态变量以及常量栈区 …...

通过strings二进制文件分析工具排查 version ‘GLIBC_2.25‘ not found 报错
strings命令简介 strings命令用于打印文件中可打印字符串, 可以打印文本文件、可执行程序,库文件等。一般用于分析可执行程序和库文件。strings命令较为常用的功能有以下两种 查看系统的GLIBC版本和目标文件的依赖的GLIBC版本,当系统的GLIBC版本与目标文…...

基于 MQTT 的开源桥接器:自由控制物联网设备 | 开源日报 No.151
Koenkk/zigbee2mqtt Stars: 10.5k License: GPL-3.0 Zigbee2MQTT 是一个 Zigbee 🐝 到 MQTT 桥接器 🌉,可以摆脱专有的 Zigbee 桥接器 🔨 允许您在不使用供应商桥接器或网关的情况下使用 Zigbee 设备通过 MQTT 桥接事件并控制 Z…...

【QT+QGIS跨平台编译】之七:【libjpeg+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
文章目录 一、libjpeg介绍二、文件下载三、文件分析四、pro文件五、编译实践一、libjpeg介绍 libjpeg是一个广泛使用的jpeg图像压缩和解压的函数库,采用 C 语言开发。 2013年1月,Independent JPEG Group发布了版本9,对新引入的无损编码模式进行了改进。2022年1月,发布了版…...

VI / VIM的使用
vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,而且 还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x win…...

第十二站(20天):C++泛型编程
模板 C提供了模板(template)编程的概念。所谓模板,实际上是建立一个通用函数或类, 其 类内部的类型和函数的形参类型不具体指定 ,用一个虚拟的类型来代表。这种通用的方式称 为模板。 模板是泛型编程的基础, 泛型编程即以一种独立于任何特定…...

【Docker】Dokcer学习① - 简介
【Docker】Docker学习① - 简介 一、Docker简介1. Docker是什么2. Docker组成3. Docker对比虚拟机4. Linux Namespace技术5. Linux control groups6. 容器管理工具 二、Docker安装及基础命令介绍三、Docker镜像管理四、Docker镜像与制作五、Docker数据管理六、网络部分七、Dock…...

PostgreSQL 100条命令
我会为您提供一些 PostgreSQL 中最常用的命令: 1. 创建数据库:CREATE DATABASE database_name; 2. 连接到数据库:\c database_name; 3. 创建表格:CREATE TABLE table_name (column1 datatype, column2 datatype, ...); 4. 插入数…...

HTTP动态代理的原理及其对网络性能的影响
HTTP动态代理是一种通过代理服务器来转发HTTP请求和响应数据的网络技术,它可以优化网络性能、提高网络安全性,并解决跨域请求的问题。本文将详细介绍HTTP动态代理的原理及其对网络性能的影响。 一、HTTP动态代理的原理 HTTP动态代理的基本原理是在客户…...

69.使用Go标准库compress/gzip压缩数据存入Redis避免BigKey
文章目录 一:简介二:Go标准库compress/gzip包介绍ConstantsVariablestype Headertype Reader 三:代码实践1、压缩与解压工具包2、单元测试3、为何压缩后还要用base64编码 代码地址: https://gitee.com/lymgoforIT/golang-trick/t…...

JavaScript实现的一些小案例
小案例 灯开关案例 <body><img id"light" src"img/off.jpg"><script>var light document.getElementById("light");var flag false;if(flag){light.src "img/on.jpg";flag false;}else{light.src "img/…...

MVC模式
Model-View-Controller : 模型-视图-控制器模式,用于应用程序的分层开发。 Model(模型):代表一个存取数据的对象。也可以带有逻辑,在数据变化时更新控制器。 View(视图):代表模型包含的数据的可视化。 Controller(控制器)…...

Java中的代理模式(一)
大家好👋,我是极客涛😎,今天我们聊一聊java中的代理模式,话不多说,还是老思路,什么是代理模式,为什么要有代理模式,如何实现代理模式 代理模式 在说java中的代理模式之前…...

跳跃游戏-算法
题目 给定一个数组nums {1,2,3,4,5},每个元素nums[i]表示从i这个位置最多可以向前跳跃nums[i]个台阶,求最小需要跳几次就可以调到末尾 思路 反向查找 从末尾开始逐个向前判断最远的起跳位置,接着再以该位置递归的判断 public int jumpT…...

ERP系统哪个好用?用友,金蝶,ORACLE,SAP综合测评
ERP系统哪个好用?用友,金蝶,ORACLE,SAP综合测评 ERP领域SAP、ORACLE相对于国内厂商如用友、金蝶优势在哪? SAP,ORACLE操作习惯一般国人用不惯;相对于国产软件,界面也很难看&#x…...

外汇天眼:美国证券交易委员会(SEC)采纳了一系列规定,以加强与特殊目的收购公司(SPACs)相关的投资者保护
美国证券交易委员会(SEC)今天通过了一系列新规和修订,以增强特殊目的收购公司(SPACs)的首次公开募股(IPOs)中的披露,并在SPACs与目标公司之间的后续业务合并交易(de-SPAC…...