深入解析SQL:基础语法与MySQL 8.0新特性解读

创始人
2024-12-15 07:56:48
0 次浏览
0 评论

第03章基本的SELECT语句

1.SQL概述1.1SQL基础知识1.2SQL语言排行榜SQL自从加入TIOBE编程语言排行榜以来,一直保持在前十名。
1.3SQL的分类SQL语言从功能上主要分为以下三类:因为查询。
使用运算符非常常见,这就是为什么许多人确定一类查询运算符:DQL(数据查询语言)。
还有单独的COMMIT和ROLLBACK称为TCL(TransactionControlLanguage)。
2.SQL语言规则与规范2.1基本规则2.2SQL大小写规范(建议遵循)2.3注释可以使用以下mysql单行注释格式的注释结构:#注释文本(MySQL特有方法)单行注释:--注释文字(--后面必须有空格)多行注释:/*文字注释文字*/2.4命名规则(暂时明确)showdatabases;SHOWDATABASES;创建表createtablestudentinfo(...);#表名不正确,因为表名中有空格createtablestudent_info(...);其中,订单使用“floats”,因为订单与系统关键字或系统函数名称等预定义标识符具有相同的名称。
CREATETABLEorder(idINT,lnameVARCHAR(20)列别名mysqlSELECTlast_nameASname,com);Mission_pctcommFROMemployees;mysqlSELECTlast_name"姓名",salary*12"AnnualSalary"FROMemployees;删除重复行。
默认情况下,查询将返回所有行,包括重复行。
SELECTDISTINCTdepartment_idFROMemployees;查询常量。
SELECT查询还可以查询常量。
没错,这意味着向SELECT查询的结果添加一个固定的常量列。
该列的值是由我们设置的,而不是从数据表中动态获取的。
使用DESCRIBE或DESC命令显示表结构。
过滤数据字段1mysqlSELECT,字段2FROM表名WHERE过滤条件请求90号部门员工信息SELECT*FROMemployeesWHEREdepartment_id=90;请求有关姓氏为“King”的员工的信息SELECT*FROMEMPLOYEESWHERELAST_NAME='King';

mysql数据库大量查询次数如何优化

MySQL8.0.16已经发布,照常扩展了GroupReplication功能。

本文介绍MySQL8.0.16给GroupReplication带来的新特性:

消息碎片。

背景

GroupReplication目前使用XCom(一个群组通信引擎),具有以下功能:原子性、群组成员状态检测等。
每个成员的群组复制plugindirects首先将信息传递给本地XCom,最后XCom将信息按照相同的顺序传递给每个组成员的GroupReplication插件。

XCom是由单线程实现的。
如果某些成员发送的消息太大,XCom线程将不得不花费更多的时间来处理这个大消息。
如果成员的XCom线程花费太长时间处理大消息,它可能会检查其他成员的XCom实例。
例如,繁忙的成员失败。
如果是这种情况,群组可以将忙碌的成员从群组中删除。

MySQL8.0.13增加了group_replication_member_expel_timeout系统变量,可以调整从组中排除成员的时间。
例如,如果您怀疑某个成员已关闭,但该成员实际上正忙于处理一条大消息,请给该成员足够的时间来完成处理。
在这种情况下,是否增加成员驱逐超时设置的问题是一个折衷的方案。
等待时间较长后,有可能会员实际上就失效了。

消息碎片(InformationFragmentation)

MySQL8.0.16的GroupReplication插件有一个处理大信息的新特性:信息碎片。

简单来说,就是可以设置会员广播消息的最大值。
超过最大值的新闻会分成较小的部分分发。

您可以使用group_replication_communication_max_message_size系统变量指定允许的最大消息大小(默认值为10MiB)。

示例

让我们通过一个示例来解释新功能。
图1显示了当绿色成员向群组发送信息时如何处理新功能。

图1分段传出消息

1如果消息大小超过用户允许的最大大小(group_replication_communication_max_message_size),则信息将被分段为块最大尺寸。

2.成员将每个块发送到组,即h.它将每个块单独转发给XCom。

XCom最终将这些块提供给群组成员。
下面三张图展示了中绿会员在发送大消息方面的工作创新。

图2a组装传入消息:第一个片段

3.成员们得出的结论是,传入的消息实际上是更多大信息的片段。

4.成员缓冲传入的片段,因为他们认为这些片段是不完整消息的一部分。
(该片段包含得出此结论所需的元数据。

图2b重新组合传入信息:第二个片段

5请参阅上面的步骤3。

6.请参阅上面的步骤4。

图2c撰写传入消息:最后一条片段

7成员得出的结论是,传入的消息实际上是较大的信息片段。

8.成员得出结论,传入的片​​段是最后一个丢失的块,重新组装原始信息,对其进行处理,并完成传输。

结论

MySQL8.0.16发布后,组复制现在可以保证组内交换的信息大小不超过一个用户-定义的阈值。
这样可以防止团体内部的误判和排斥成员。

热门文章
1
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

2
MySQL分区删除技巧与8.0版本新特性... mysql删除分区在MySQL中,删除分区操作主要使用“可替代”的命令与“ dr...

3
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

4
深度解析:MySQL查询语句执行顺序及优... mysql查询语句执行顺序当这是由于执行SQL的过程时,了解其过程很重要。 ...

5
SQL教程:使用SUBSTRING和IN... sql取特定字符的前面几位字符selectsubstr('L-0FCLDRBCT...

6
MySQL日期差异计算方法:轻松获取日期... MySQL计算时间差两日期相减得月份mysql两时间相减得月MySQL计算时间之...

7
MySQL及SQL查询获取前10条数据方... MySql查询前10条数据sql语句是从MySQL获取前1 0个数据的SQL查询...

8
MySQL启动问题排查与解决指南 Mysql为什么启动不了如果要配置MySQL,则遇到无法启动的问题,可能是由于配...

9
DbVisualizer添加MySQL数... 如何在DbVisualizer中添加本地mysql数据库由于DbVisualiz...

10
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...