首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL命名、设计及使用规范--------来自标点符MySQL命名、设计及使用规范》

命名禁止超过32个字符,须见名之意,建议使用名词不是动词 数据库,数据一律使用前缀 临时库、名必须tmp为前缀,并以日期为后缀 备份库、必须bak为前缀,并以日期为后缀 为什么库、字段全部采用小写...5、如无说明,必须包含create_timemodify_time字段,即必须包含记录创建时间修改时间字段 6、如无说明,必须包含is_del,用来标示数据是否被删除,原则数据数据不允许物理删除...在存储或检索过程中不进行大小写转换。 VARCHAR列中值为可变长字符串。长度可以指定为0到65,535之间值。(VARCHAR最大有效长度由最大行大小使用字符集确定。...索引基本规范 1、索引数量控制,单张中索引数量不超过5个,单个索引中字段数不超过5个。 综合评估数据密度分布 考虑查询更新比例 为什么一张中不能存在过多索引?...join语句中join条件字段类型不一致时候MYSQL无法使用索引 使用 LIKE 操作时候如果条件通配符开始 (如 ‘%abc…’)时, MYSQL无法使用索引。

5.6K20

大佬整理mysql规范,分享给大家

命名禁止超过32个字符,须见名之意,建议使用名词不是动词 数据库,数据一律使用前缀 临时库、名必须tmp为前缀,并以日期为后缀 备份库、必须bak为前缀,并以日期为后缀 为什么库、字段全部采用小写...如无说明,必须包含create_timemodify_time字段,即必须包含记录创建时间修改时间字段 如无说明,必须包含is_del,用来标示数据是否被删除,原则数据数据不允许物理删除...索引基本规范 索引数量控制,单张中索引数量不超过5个,单个索引中字段数不超过5个。 综合评估数据密度分布 考虑查询更新比例 为什么一张中不能存在过多索引?...join语句中join条件字段类型不一致时候MYSQL无法使用索引 使用 LIKE 操作时候如果条件通配符开始 (如 ‘%abc…’)时, MYSQL无法使用索引。...,优先考虑Hbase或OceanBase,如需要存储请找DBA评估使用压缩存储。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL 系列教程之(七)DQL:从 select 开始丨【绽放吧!数据库】

从SELECT开始 检索单个列 select name from user 如果没有明确排序查询结果(下一章介绍),则返回数据顺序没有特殊意义。...%一样,但下划线只匹配单个字符而不是多个字符 使用通配符技巧 > 正如所见,MySQL通配符很有用。...函数一般是在数据执行,它给数据转换处理提供了方便。...使用这些函数,MySQL查询可用于检索数据,以便分析报表生成 确定中行数(或者满足某个条件或包含某个特定值行数)。 获得中行组。...这使我们能够对行进行计数,计算与平均数,获得最大和最小值而不用检索所有数据 目前为止所有计算都是在所有数据或匹配特定WHERE子句数据上进行

3.6K43

MySQL 从入门到实践,万字详解!

2.2 主键 主键概念十分重要,它唯一标识中每行单个或者多个列称为主键。主键用来表示一个特定行。 虽然并不总是都需要主键,但应尽量保证每个都定义有主键,以便于以后数据操纵管理。...注意:MySQL 在运行时关联多个处理联结可能是非常耗费资源,不要联结不必要。联结越多,性能下降越厉害。...有两种情况需要使用组合查询: 在单个查询中从不同返回类似结构数据; 对单个执行多个查询,按单个查询返回数据。 多数情况下,组合查询可以使用具有多个 where 子句条件单条查询代替。...存储过程 前面介绍大部分 SQL 语句都是对一个或者多个单个查询,但是实际情况下一个完整操作可能是由多个语句组合而成,比如考虑下面这个下单流程: 为了处理订单,需要核对保证库存中有相应物品...游标(cursor)是一个存储在 MySQL 服务器数据查询,它不是一条 select 语句,而是被该语句检索出来结果集。在存储了游标之后,应用可以根据需要滚动或浏览其中数据

2K30

MySQL】03_数据类型

如果保存时,数据实际长度比CHAR类型声明长度小,则会在 右侧填充 空格达到指定长度。当MySQL检索CHAR类型数据时,CHAR类型字段会去除尾部空格。...ENUM类型 ---- ENUM类型也叫作枚举类型,ENUM类型取值范围需要在定义字段时进行指定。 设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。...但是仍然要在不必要时候避免检索大型BLOB或TEXT值。例如,SELECT * 查询就不是很好想法,除非你能够确定作为约束条件WHERE子句只会找到所需要数据行。...它还使你在主数据运行 SELECT * 查询时候不会通过网络传输大量BLOB或TEXT值。...创建数据中包含一个JSON类型字段 js 。 通过“->”“->>”符号,从JSON字段中正确查询出了指定JSON数据值。

2K30

技术阅读-《MySQL 必知必会》

将把一个想成一个网格,网格里每一列存储数据都是属于该字段,每列相互独立。 每列都有对应数据类型,就是说每个字段都有数据类型限制,这个类型能帮助我们排序数据检索数据。...虽然子查询嵌套数目没有限制,不过在实际使用时由于性能限制,不应该嵌套太多查询。 相关子查询 涉及外部查询查询,利用子查询获得外部指定字段。...笛卡尔积 两个没有联结条件返回结果, 检索数目将是第一个行数乘 第二个行数。...使用联结要点: 进行联结时要使用正确联结条件,避免笛卡尔积 一个联结可以包含多个,一个语句中也允许存在多个联结 第十七章 组合查询 组合查询多个查询语句结果作为单个查询结果局进行返回 使用场景...: 在单个查询中从不同返回一样结构数据单个执行多个查询,按照单个查询返回数据 如何使用组合查询 用 UNION 操作符组件多个 SQL 查询语句。

4.6K20

MySQLMySQL知识总结

---- 注意: 当我们需要存储小数,并且有精度要求,比如存储金额时,通常会考虑使用DECIMAL字段类型!!!...日期时间类型 日期与时间类型是为了方便在数据库中存储日期时间而设计数据库有多种表示日期时间数据类型。...主键主要目的是帮助数据库管理系统最快速度查找到某一条信息。主键必须满足条件就是主键必须是唯一中任意两条记录主键字段值不能相同,并且是非空值。...2个,用户信息用户验证 基于以下三个方面考虑: 1.面向对象考虑 用户信息用户验证是两种“对象” 2.性能方面考虑 登录验证时候列较少,加快查询速度。...查询在class中,那个老师教班级student中云云班级相同 注意:使用比较运算符时,select子句获得数据不能大于1条。

7.2K52

MySQL数据库篇---对数据库,数据库中表,数据库中表记录进行添修删查操作---保姆级教程

删除列 修改列名称 修改名 修改字符集 SQL对数据记录进行操作 添加记录 添加中文记录 修改记录 修改某一列所有值 按条件修改数据条件修改多个列 删除记录 删除某一条记录...删除中所有记录 查看表记录 基本查询 查询所有学生考试成绩信息 查询所有学生姓名英语成绩 查询英语成绩,不显示重复值 查看学生姓名学生总成绩 给考试成绩综合取别名 条件查询 使用where...统计总金额花费在5000以上商品 按商品名称统计,统计总金额花费在5000以上商品,并且按照总金额升序排序 总结 ---- MySQL数据库存储方式 一台数据库服务器中会创建很多数据库(一个项目会创建一个数据库...注意: 一个实体对应一个,一个实体属性对应一个字段 java中基本变量类型对mysql类型: 约束: 约束作用: 保证数据完整性 单约束分类: 主键约束: primary key...修改记录 语法: update 名 set 列名=值,列名=值 [where 条件]; 注意事项: 值类型与列类型一致 值最大长度不超过列设置最大长度 字符串类型日期类型要添加单引号

3.6K20

2020年MySQL数据库面试题总结(50道题含答案解析)

在 MyISAM Static 所有字段有固定宽度。动态 MyISAM 将具有像 TEXT,BLOB 等字段适应不同长度数据类型。 MyISAM Static 在受损情况下更容易恢复。...(1)CONCAT(A, B) – 连接两个字符串值创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。 (2)FORMAT(X, D)- 格式化数字 X 到 D 有效数字。...加速之间连接 使用分组排序子句进行数据检索时,可以显著减少查询中分组排序时间 (2)索引对数据库系统负面影响是什么?...(3)为数据建立索引原则有哪些? 在最频繁使用、用以缩小查询范围字段建立索引。 在频繁使用、需要排序字段建立索引 (4)什么情况下不宜建立索引?...主键——用来保证数据完整性 外键——用来其他建立联系用 索引——是提高查询排序速度 个数: 主键—— 主键只能有一个 外键—— 一个可以有多个外键 索引—— 一个可以有多个唯一索引 49、你可以用什么来确保表格里字段只接受特定范围里

3.9K20

MySQL 给你问懵了?50 道 MySQL 高频面试题详解来了

在 MyISAM Static 所有字段有固定宽度。动态 MyISAM 将具有像 TEXT,BLOB 等字段适应不同长度数据类型。 MyISAM Static 在受损情况下更容易恢复。...(1)CONCAT(A, B) – 连接两个字符串值创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。 (2)FORMAT(X, D)- 格式化数字 X 到 D 有效数字。...34、为中得字段选择合适得数据类型 字段类型优先级: 整形>date,time>enum,char>varchar>blob,text 优先考虑数字类型,其次是日期或者二进制类型,最后是字符串类型,同级别得数据类型...加速之间连接 使用分组排序子句进行数据检索时,可以显著减少查询中分组排序时间 (2)索引对数据库系统负面影响是什么?...(3)为数据建立索引原则有哪些? 在最频繁使用、用以缩小查询范围字段建立索引。 在频繁使用、需要排序字段建立索引 (4)什么情况下不宜建立索引?

2.6K11

GenerateTableFetch

但是,Max-Value列返回字段列必须为空或者引用每个指定中可用列(多表查询字段也可以设置成属性表达式语言就可以了)。 属性配置 在下面的列表中,必需属性名称粗体显示。...使用多个列意味着要对列列表进行排序,并且每个列增长速度都比前一列值要慢。因此,使用多个列意味着列层次结构,**通常用于分区。**此处理器仅可用于检索自上次检索以来已添加或更新行。...使用多个列意味着要对列列表进行排序,并且每个列增长速度都比前一列值要慢。因此,使用多个列意味着列层次结构,**通常用于分区。**此处理器仅可用于检索自上次检索以来已添加或更新行。...GenerateTableFetch执行对数据查询确定当前行数最大值,如果指定了最大值列,则收集其最大值列值大于GenerateTableFetch最后观察到行数。...重要是,将用于值分区列设置为可以强制类型为长整数(即不是日期或时间戳)列,并且为了获得最佳性能,列值是均匀分布,而不是稀疏

3.3K20

mysql日常面试题总结

加速之间连接 使用分组排序子句进行数据检索时,可以显著减少查询中分组排序时间 b)、索引对数据库系统负面影响是什么?...c)、为数据建立索引原则有哪些? 在最频繁使用、用以缩小查询范围字段建立索引。 在频繁使用、需要排序字段建立索引 d)、 什么情况下不宜建立索引?...索引可以是唯一,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入速度,同时也增加了数据尺寸大小。 27. 如何通俗地理解三个范式?...选择合适字段数据类型存储引擎,适当添加索引。 c. mysql库主从读写分离。 d. 找规律分,减少单数据量提高查询速度。 e。添加缓存机制,比如memcached,apc等。 f....41,为中得字段选择合适得数据类型(物理设计) 字段类型优先级: 整形>date,time>enum,char>varchar>blob,text 优先考虑数字类型,其次是日期或者二进制类型,最后是字符串类型

61920

写一手好SQL,你该从哪里入手?

一、从sql优化入手** 谈到sql性能优化,那我们就离不开谈到大数据并发数,MySQL没有限制单最大记录数,它只是取决于操作系统对文件大小限制。...相比datetime,timestamp占用更少空间,UTC格式储存自动转换时区。 避免空值 MySQL字段为NULL时依然占用空间,会使索引、索引统计更加复杂。...三、索引优化,这个经常谈到 索引分类有哪些? 1 普通索引:最基本索引 2 组合索引:多个字段建立索引,能够加速复合查询条件检索。...索引优化 1 分页查询很重要,如果查询数据量超过30%,MYSQL不会使用索引。 2 单索引数不超过5个、单个索引字段数不超过5个。...如果有多个join,则将前面的结果集作为循环数据,再次到后一个查询数据。 驱动被驱动尽可能增加查询条件,满足ON条件而少用Where,用小结果集驱动大结果集。

1K20

一文搞懂MySQL分区

MySQL分区 〇、引言 在大型数据库系统中,查询检索数据性能通常是一个关键问题。在MySQL中,如果单数据量过大,查询性能通常会变得很低。...一、什么是分区 MySQL分区是指将一个逻辑分解成多个分区存储管理物理数据技术。...三、如何设计分区 设计分区需要综合考虑多个因素,包括业务需求、数据量、查询类型访问模式等。 1. 选择合适分区键: 分区键选择很重要,决定了分区行如何分布到分区内,以及如何检索更新数据。...考虑分区大小和数量: 每个分区大小和数量应该根据数据大小查询模式来考虑。如果数据量超过单个分区容量,则无法放在同一分区里,需要更多分区来存储。...六、总结 MySQL分区是一种将单个数据划分到多个分区中数据库技术,可以提高查询性能缩短查询时间,特点包括支持多种分区类型分区键、根据业务需求进行选择,设计分区需要考虑多个因素,如数据量、

1.1K30

【愚公系列】2023年03月 Java教学课程 099-数据库(SQL介绍)

3.数据好处 数据库提供了集中管理数据方法,可以确保数据安全性完整性。 数据库可以提高数据访问速度效率,通过数据库索引查询优化可以快速地检索处理数据。...、数据数据关系介绍 数据库 用于存储管理数据仓库 一个库中可以包含多个数据 数据 数据库最重要组成部分之一 它由纵向横向行组成(类似excel表格) 可以指定列名...select 字段列表 from 名列表 where 条件列表 group by 分组字段 having 分组之后条件 order by 排序 limit 分页限定 查询全部 --...标准语法 SELECT * FROM 名; -- 查询product所有数据 SELECT * FROM product; 查询部分 多个字段查询 -- 标准语法 SELECT 列名1,列名2,....AS 别名 FROM 名; -- 查询商品名称库存,库存数量在原有基础加10。进行null值判断。

1.3K30

MySQL数据类型_js中数据类型

6.日期与时间类型 日期与时间是重要信息,在我们系统中,几乎所有的数据都用得到。原因是客户需要知道数据时间标签,从而进行数据查询、统计处理。...因为这个数据类型包括了完整日期时间信息,取值范围也最大,使用起来比较方便。毕竟,如果日期时间信息分散在好几个字段,很不容易记,而且查询时候,SQL 语句也会更加复杂。...如果保存时,数据实际长度比CHAR类型声明长度小,则会在 右侧填充 空格达到指定长度。当MySQL检索CHAR类型数据时,CHAR类型字段会去除尾部空格。...但是仍然要在不必要时候避免检索大型BLOB或TEXT值。例如,SELECT * 查询就不是很好想法,除非你能够确定作为约束条件WHERE子句只会找到所需要数据行。...当需要检索JSON类型字段数据某个具体值时,可以使用“->”“->>”符号 通过“->”“->>”符号,从JSON字段中正确查询出了指定JSON数据值。

6.7K20

2022 最新 MySQL 面试题

在 MyISAM Static 所有字段有固定宽度。 动态 MyISAM 将具有像 TEXT, BLOB 等字段适应不同长度数据类型。...1、CONCAT(A, B) – 连接两个字符串值创建单个字符串输出 。通 常用于将两个 或多个字段合并为一个字段。 2、 FORMAT(X, D)- 格式化数字 X 到 D 有效数字。...加速之间连接 使用分组排序子句进行数据检索时, 可以显著减少查询中分组排序时间 2、 索引对数据库系统负面影响是什么?...3、 为数据建立索引原则有哪些? 在最频繁使用、 用以缩小查询范围字段建立索引。 在频繁使用、 需要排序字段建立索引 4、 什么情况下不宜建立索引?...(选择几条) 1、Where 子句中:where 之间连接必须写在其他 Where 条件之前 ,那些可 过滤掉最大数量记录条件必须写在 Where 子句末尾.HAVING 最后。

9010

MySQL经典52题

CONCAT(A, B) – 连接两个字符串值创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。 FORMAT(X, D)- 格式化数字X到D有效数字。...设计良好数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。选择合适字段数据类型存储引擎,适当添加索引。mysql库主从读写分离。找规律分,减少单数据量提高查询速度。...加速之间连接 使用分组排序子句进行数据检索时,可以显著减少查询中分组排序时间索引对数据库系统负面影响是什么?...为数据建立索引原则有哪些? 在最频繁使用、用以缩小查询范围字段建立索引。 在频繁使用、需要排序字段建立索引什么情况下不宜建立索引?...Where条件之前,那些可以过滤掉最大数量记录条件必须写在Where子句末尾.HAVING最后。

8210

一手好 SQL 是如何炼成

MySQL性能 最大数据量 抛开数据并发数,谈性能都是耍流氓。MySQL没有限制单最大记录数,它取决于操作系统对文件大小限制。 ?...索引优化 索引分类 普通索引:最基本索引。 组合索引:多个字段建立索引,能够加速复合查询条件检索。 唯一索引:与普通索引类似,但索引列值必须唯一,允许有空值。...索引优化 分页查询很重要,如果查询数据量超过30%,MYSQL不会使用索引。 单索引数不超过5个、单个索引字段数不超过5个。 字符串可使用前缀索引,前缀长度控制在5-8个字符。...如果有多个join,则将前面的结果集作为循环数据,再次到后一个查询数据。 驱动被驱动尽可能增加查询条件,满足ON条件而少用Where,用小结果集驱动大结果集。...被驱动join字段加上索引,无法建立索引时候,设置足够Join Buffer Size。 禁止join连接三个以上,尝试增加冗余字段

49510

干货 | Elasticsearch 索引设计实战指南

单纯普通数据索引,如果不考虑增量数据,基本普通索引就能够满足性能要求。 我们通常操作就是: 步骤 1:创建索引; 步骤 2:导入或者写入数据; 步骤 3:提供查询请求访问或者查询服务。...单个 Lucene 越大,索引会越大,查询操作成本自然要越高,IO 压力越大,自然会影响查询体验。 具体一个分片多少数据合适,还是需要结合实际业务数据实际查询来进行测试以进行评估。...例如,使用映射来定义: 应将哪些字符串字段定义为全文检索字段; 哪些字段包含数字,日期或地理位置; 定义日期格式(时间戳还是日期类型等); 用于控制动态添加字段映射自定义规则。...6.2 多表关联如何实现 方案一:多表关联视图,视图同步 ES MySQL导入 ES,使用 ES 查询+检索。...适用场景:基础业务都在 MySQL,存在几十张甚至几百张,准备同步到 ES,使用 ES 做全文检索。 将数据整合成一个宽后写到 ES,宽实现可以借助关系型数据视图实现。

9.7K24
领券