2.使用 Label Studio 标注文本

news2024/11/24 16:07:28

使用 Label Studio 标注文本


文章目录

  • 使用 Label Studio 标注文本
  • 前言
  • Label Studio的简单使用
    • 1.创建项目
    • 2.添加本地存储
    • 3.选择标注模板
    • 4.添加数据
    • 5.标注
    • 6.添加关系
  • 总结


前言

Label Studio是一个开源的功能强大的标注平台,可以标注视频,图片,音频,文字等各类型的数据。
这篇文章主要介绍标注员如何使用Label Studio标注文本数据。
下面是开源地址

Github地址


Label Studio的简单使用

1.创建项目

在这里插入图片描述
在这里插入图片描述

2.添加本地存储

在这里插入图片描述
在这里插入图片描述

这里的路径填写的是之前设置的LOCAL_FILES_DOCUMENT_ROOT的路径,后面加了一个子文件夹Resume_Labeling(该文件夹需要提前创建),
填好之后可以点击Check Connection按钮检查路径是否配置正确
在这里插入图片描述
在这里插入图片描述

3.选择标注模板

Projects=>Resume_Labeling=>Settings=>Labeling Interface=>Browse Templates

选择我们刚刚添加的自定义模板
在这里插入图片描述
在这里插入图片描述

4.添加数据

把需要标注的文件和一个Import.json文件,放到Resume_Labeling文件夹下,再从界面导入Import.json文件,就可以了
导入数据的文件夹结构
在这里插入图片描述
点击Import按钮,选择Import.json文件
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
import.json文件内容

[{
	"data": {
            "labeler":"task3@qq.com",
			"reviewver":"reviewver1@qq.com",
			"resume_id":"fsdgsd",
			"rules":"rules",
			"source_resume": "/mydata/local-files/?d=Resume_Labeling/Round1/Import/LabelStudio/source_resume.html",
			"resume": "/mydata/local-files/?d=Resume_Labeling/Round1/Import/LabelStudio/resume.html"
        }
    }
]

resume.html 和source_resume.html

<html>
	<head>
		<style>
			.page[theme="beryl"] * {
							user-select: text;
							color: #333344;
							font-size: 16px;
							line-height: 1.6;
							overflow-wrap: break-word;
						}
						
						.page[theme="beryl"] a {
							text-decoration-color: #008117;
						}
						
						.page[theme="beryl"] {
							width: 794px;
							background: #ffffff;
							padding: 72px;
							margin-bottom: 32px;
							
							border-radius: 4px;
							box-shadow: 0px 4px 8px #d0d0d0;
						
							position: relative;
						}
						
						/* 以下是页眉页脚样式 */
						
						.page[theme="beryl"]>header,
						footer {
							position: absolute;
						}
						
						.page[theme="beryl"]>header {
							top: 28px;
							right: 72px;
						}
						
						.page[theme="beryl"]>footer {
							bottom: 28px;
							left: 397px;
							transform: translate(-50%, 0);
						}
						
						.page[theme="beryl"]>footer>div::before {
							content: "- ";
						}
						
						.page[theme="beryl"]>footer>div::after {
							content: " -";
						}
						
						/* 以下是基本信息式 */
						
						.page[theme="beryl"]>.head {
							width: 100%;
							display: inline;
							grid-template-columns: auto 1fr auto;
							grid-column-gap: 16px;
							margin-bottom: 32px;
						}
						
						.page[theme="beryl"]>.head>div>.name {
							font-size: 36px;
							font-weight: bold;
							margin-bottom: 32px;
							text-align: center;
						}
						
						
						
						.page[theme="beryl"]>.head>.information {
							display: grid;
							grid-template-columns: auto  auto auto;
							/* grid-column-gap: 20px; */
						}
						
						.page[theme="beryl"]>.head>.information>.label {
							display: flex;
							/* justify-content: flex-end; */
							margin-bottom: 8px;
						}
						
						.page[theme="beryl"]>.head>.information>.label>.title {
							font-size: 16px;
							font-weight: bold;
							color: #008117;
						}
						
						.page[theme="beryl"]>.head>.information>.label>.msg {
							font-size: 16px;
							margin-left: 8px;
							font-weight: bold;
						}
						.page[theme="beryl"]>.head>.information>.label>.icon {
							width: 18px;
							height: 22px;
							object-fit: contain;
							margin-right: 8px;
						}
						
						.page[theme="beryl"]>.head>.information>.label>.tag {
							margin-right: 8px;
							font-weight: bold;
						}
						
						.page[theme="beryl"]>.head>.portrait {
							/* 48mm x 33mm */
							height: 182px;
							width: 125px;
							object-fit: contain;
						}
						
						.page[theme="beryl"]>.head>.portrait:not([src]) {
							width: 0;
							opacity: 0;
						}
						
						/* 以下是详细信息式 */
						
						.page[theme="beryl"]>.main {
							margin-bottom: 36px;
						}
						
						.page[theme="beryl"]>.main>.mainhead {
							display: flex;
							margin-bottom: 8px;
							background: #497089;
							padding-left: 16px;
							border-radius: 8px;
						}
						
						.page[theme="beryl"]>.main>.mainhead>.icon {
							display: none;
						}
						
						.page[theme="beryl"]>.main>.mainhead>.t1 {
							font-size: 24px;
							font-weight: bold;
							color: #ffffff;
						}
						
						.page[theme="beryl"]>.main>.subhead {
							display: inline;
							/* grid-template-columns: 1fr auto; */
						}
						
						.page[theme="beryl"]>.main>.subhead>.information {
							display: grid;
							grid-template-columns: auto;
							margin-bottom:20px;
						}
						
						.page[theme="beryl"]>.main>.subhead>.information>.label {
							display: flex;
						}
						
						.page[theme="beryl"]>.main>.subhead>.information>.label>.title {
							font-size: 16px;
							font-weight: bold;
							color: #008117;
						}
						
						.page[theme="beryl"]>.main>.subhead>.information>.label>.value {
							font-size: 16px;
							margin-left: 8px;
							font-weight: bold;
						}
						
						.page[theme="beryl"]>.main>.subhead>.t2 {
							font-size: 16px;
							font-weight: bold;
							color: #008117;
						}
						
						.page[theme="beryl"]>.main>.subhead>.time {
							font-weight: bold;
							color: #008117;
						}
						
						.page[theme="beryl"]>.main>.subhead>.note {
							font-weight: bold;
							color: #555555;
						}
						
						.page[theme="beryl"]>.main>ol,
						ul {
							padding-left: 20px;
						}
						
						.page[theme="beryl"]>.main>.contents {
							margin-bottom: 8px;
						}
						
						.page[theme="beryl"]>.main>.contents>div {
							font-size: 16px;
						}
						
						/* 以下是打印样式处理 */
						
						@media print {
							.page[theme="beryl"] * {
								color: #000000;
							}
						
							.page[theme="beryl"] {
								border-radius: 0;
								box-shadow: none;
							}
						}
						
						* {
							padding: 0;
							margin: 0;
							user-select: none;
							box-sizing: border-box;
							color: #333344;
							print-color-adjust: exact;
							-webkit-print-color-adjust: exact;
						}
						
						body {
							background: #f0f0f0;
						}
						
						.themes {
							position: fixed;
							top: 16px;
							left: 16px;
						}
						
						.themes>div {
							margin: 16px;
							font-size: 22px;
							height: 48px;
							line-height: 48px;
							text-align: center;
							padding: 0 16px;
							border-radius: 24px;
						}
						
						.themes,
						.language,
						.toolbar {
							display: none;
						}
						
						.language {
							position: fixed;
							right: 16px;
							top: 16px;
						}
						
						.toolbar {
							position: fixed;
							right: 16px;
							bottom: 16px;
						}
						
						.language>div,
						.toolbar>div {
							width: 48px;
							height: 48px;
							border-radius: 50%;
							margin: 16px;
							display: flex;
							align-items: center;
							justify-content: center;
						}
						
						.language>div>img {
							width: 40px;
							height: 40px;
							object-fit: contain;
						}
						
						.toolbar>div>img {
							width: 32px;
							height: 32px;
							object-fit: contain;
						}
						
						.themes>.themes-title {
							font-size: 28px;
							color: #666666;
						}
						
						.language>div>img,
						.toolbar>div>img {
							filter: brightness(2)
						}
						
						.themes>.theme,
						.language>div,
						.toolbar>div {
							background: #f0f0f0;
							box-shadow: 2px 2px 4px #dadada, -2px -2px 4px #ffffff;
							color: #666666;
						}
						
						.themes>.theme:active,
						.language>div:active,
						.toolbar>div:active {
							filter: brightness(1.03);
						}
						
						.themes>.theme[selected="true"],
						.language>div[selected="true"] {
							box-shadow: inset 2px 2px 4px #dadada, inset -2px -2px 4px #ffffff;
						}
						
						.resume {
							/* 210mm x 297mm */
							width: 794px;
							/* height: 1123px; */
							margin: 32px auto;
						}
						
						.source {
							width: 100%;
							text-align: center;
							margin-bottom: 32px;
						}
						
						@media print {
							@page {
								margin: 0;
							}
						
							.no-print {
								display: none !important
							}
						
							.resume {
								margin: 0 auto;
							}
						}
		</style>
		<meta charset="UTF-8">
	</head>
	<body>

		<div id="resume" class="resume">
			<div class="page" theme="beryl" style="height: 900px;">
				<section class="head" name="basic_information">
					<div>
						<div class="name">个人简历</div>
					</div>
					<div class="information">
						<div class="label">
							<h2 class="title">姓名</h2>
							<div class="msg" name="name">xxx</div>
						</div>
						<div class="label">
							<h2 class="title">性别</h2>
							<div class="msg" name="gender"></div>
						</div>
						<div class="label">
							<h2 class="title">年龄</h2>
							<div class="msg" name="age">31</div>
						</div>
						<div class="label">
							<h2 class="title">邮箱</h2>
							<div class="msg" name="email">dddddd@qq.com</div>
						</div>
						<div class="label">
							<h2 class="title">电话</h2>
							<div class="msg" name="phone">1111111</div>
						</div>
						<div class="label">
							<h2 class="title">住址</h2>
							<div class="msg" name="loc"></div>
						</div>
						<div class="label">
							<h2 class="title">工作年限</h2>
							<div class="msg" name="work_year">2</div>
						</div>
					</div>
				</section>
				<section class="main pri-subdir" name="edu_exp">
					<div class="mainhead">
						<h1 class="t1">教育经历</h1>
					</div>
					<div class="subhead" name="edu_exp">
						<div class="information" name="edu_exp_1">
							<div class="label">
								<h2 class="title">学校</h2>
								<div class="value" name="school">美国麻省大学波士顿分校</div>
							</div>
							<div class="label">
								<h2 class="title">开始时间</h2>
								<div class="value" name="start_time">2015.10</div>
							</div>
							<div class="label">
								<h2 class="title">结束时间</h2>
								<div class="value" name="end_time">2019.12</div>
							</div>
						</div>
					</div>
					<div class="subhead" name="edu_exp">
						<div class="information" name="edu_exp_2">
							<div class="label">
								<h2 class="title">学校</h2>
								<div class="value" name="school">第二个学校</div>
							</div>
							<div class="label">
								<h2 class="title">开始时间</h2>
								<div class="value" name="start_time">2015.10</div>
							</div>
							<div class="label">
								<h2 class="title">结束时间</h2>
								<div class="value" name="end_time">2019.12</div>
							</div>
						</div>
					</div>
				</section>
				<section class="main no-subdir" name="english_ability">
					<div class="mainhead">
						<h1 class="t1">英语能力</h1>
					</div>
					<div class="contents">
						<div>读写能力良好</div>
						<div>听说能力良好</div>
					</div>
				</section>
				<section class="main no-subdir" name="certs">
					<div class="mainhead">
						<h1 class="t1">证书</h1>
					</div>
					<div class="contents">
						<div>证书1</div>
						<div>证书2</div>
					</div>
				</section>
				<footer>
					<div>1</div>
				</footer>
			</div>
			<div class="page" theme="beryl" style="height: 900px;">
				<section class="main no-subdir" name="skills">
					<div class="mainhead">
						<h1 class="t1">专业技能</h1>
					</div>
					<div class="contents">
						<div>Wireshark- HTTP , DNS, TCP/IP, capture Ethernet data</div>
						<div>VM WorkStation</div>
					</div>
				</section>
				<section class="main no-subdir" name="my_desc">
					<div class="mainhead">
						<h1 class="t1">自我评价</h1>
					</div>
					<div class="contents">
						<div>自我评价内容</div>
					</div>
				</section>
				<section class="main pri-subdir" name="job_exp">
					<div class="mainhead">
						<h1 class="t1">工作经历</h1>
					</div>
					<div class="subhead" name="job_exp">
						<div class="information" name="job_exp_1">
							<div class="label">
								<h2 class="title">公司</h2>
								<div class="value" name="company">美团</div>
							</div>
							<div class="label">
								<h2 class="title">开始时间</h2>
								<div class="value" name="start_time">2023.10</div>
							</div>
							<div class="label">
								<h2 class="title">结束时间</h2>
								<div class="value" name="end_time">至今</div>
							</div>
							<div class="label">
								<h2 class="title">岗位</h2>
								<div class="value" name="position">AI岗位</div>
							</div>
							<div class="contents"></div>
						</div>
					</div>
				</section>
				<footer>
					<div>2</div>
				</footer>
			</div>
			<div class="page" theme="beryl" style="height: 900px;">
				<section class="main pri-subdir" name="job_exp">
					<div class="subhead">
						<div class="information" name="job_exp_1">
							<div class="contents">
								<div>内容</div>
							</div>
						</div>
					</div>
					<div class="subhead" name="job_exp">
						<div class="information" name="job_exp_2">
							<div class="label">
								<h2 class="title">公司</h2>
								<div class="value" name="company">公司1</div>
							</div>
							<div class="label">
								<h2 class="title">开始时间</h2>
								<div class="value" name="start_time">2021.08</div>
							</div>
							<div class="label">
								<h2 class="title">结束时间</h2>
								<div class="value" name="end_time">2023.10</div>
							</div>
							<div class="label">
								<h2 class="title">岗位</h2>
								<div class="value" name="position">标注审核员</div>
							</div>
							<div class="contents">
								<div>负责对已标注视频数据内容审核工作</div>
							</div>
						</div>
					</div>
				</section>
				<section class="main pri-subdir" name="proj_exp">
					<div class="mainhead">
						<h1 class="t1">项目经历</h1>
					</div>
					<div class="subhead" name="proj_exp">
						<div class="information" name="proj_exp_1">
							<div class="label">
								<h2 class="title">项目名称</h2>
								<div class="value" name="proj_name">AI模型数据标注基础研发平台</div>
							</div>
							<div class="label">
								<h2 class="title">开始时间</h2>
								<div class="value" name="start_time">2023.10</div>
							</div>
							<div class="label">
								<h2 class="title">结束时间</h2>
								<div class="value" name="end_time">至今</div>
							</div>
							<div class="label">
								<h2 class="title">项目职责</h2>
							</div>
							<div class="contents">
								<div>熟练掌握AI模型训练及评测相关标注任务</div>
							</div>
							<div class="label">
								<h2 class="title">项目内容</h2>
							</div>
							<div class="contents"></div>
						</div>
					</div>
				</section>
				<footer>
					<div>3</div>
				</footer>
			</div>
			<div class="page" theme="beryl" style="height: 900px;">
				<section class="main pri-subdir" name="proj_exp">
					<div class="subhead">
						<div class="information" name="proj_exp_1">
							<div class="contents">
								<div>熟练掌握AI模型训练及评测相关标注任务</div>
							</div>
						</div>
					</div>
				</section>
				<footer>
					<div>4</div>
				</footer>
			</div>
		</div>


	</body>
</html>

5.标注

在这里插入图片描述

界面稍微有调整,左边添加了一个原始简历,用于展示和对比

在这里插入图片描述

1.标注时,先选择标签,如Name(也可以用快捷键选择,快捷键在标签的右上角展示,如Name的快捷键是4)

2.然后在标注界面,选择文本,即完成标注

3.如果需要修改文本,则选择文本,在界面的上方会显示一个文本框,在里面填写修改后的文本

4.完成后点击提交(或更新)

在这里插入图片描述

6.添加关系

通常简历中可能不止一段教育经历(项目经历|工作经历),为区分,需要给同一段教育经历分组(项目经历|工作经历),可以通过添加关系来达成目的。

1.选择关系的起点:同一段教育经历下的字段,如下图中的结束时间

2.标签基本信息面板,点击关系按钮(或者快捷键Alt+R)

3.选择关系的终点:同一段教育经历下的学校字段,如下图中的学校名称

在这里插入图片描述


总结

本文从标注人员的角度简单介绍了Label Studio的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个新韭菜的炒股心得

一个新韭菜的炒股心得 前言 股市其实是一场修行。时刻控制人性的弱点。所以量化优势明显&#xff0c;它没有情绪&#xff0c;可以随意止盈止损。我从一个小白一路走过来&#xff0c;发现A股里有学不完的知识,有做不完的功课。我的主要关注点在如何有效实现价值投资(价值投资在…

算法: 位运算题目练习

文章目录 位运算判定字符是否唯一丢失的数字两整数之和只出现一次的数字 II消失的两个数字常见位运算总结 位运算 判定字符是否唯一 有很多解法,比如hash表,或者给字符串排个序,然后遍历… 写这道题时没注意到如果出现奇数个相同字符,此时就应该返回false了. 而不是全部放到位…

智慧高铁站的概念与优势

1. 概念介绍 智慧高铁站是指利用先进的信息技术和智能化手段&#xff0c;对高铁站的运营管理、服务功能、安全保障等方面进行全面升级和优化的现代化交通枢纽。通过数字化、网络化和智能化技术的应用&#xff0c;实现高铁站的智能化管理、便捷化服务和可持续发展&#xff0c;从…

【Linux】Linux进程基础

1.进程介绍与概念 进程的本质是在计算机内存中运⾏的程序&#xff0c;但是这⼀个概念太过于⼴泛 每个应用程序运行于现代操作系统之上时&#xff0c;操作系统会提供一种抽象&#xff0c;好像系统上只有这个程序在运行&#xff0c;所有的硬件资源都被这个程序在使用。这种假象…

ui自动化知识点-web端

UI &#xff1a; User Interface( ⽤户接⼝ - ⽤户界⾯ ) &#xff0c;主要包括&#xff1a; app 、 web ui ⾃动化测试&#xff1a;使⽤⼯具或代码执⾏⽤例的过程 什么样的项⽬适合做⾃动化&#xff1a;1、需要回归测试项⽬&#xff08;甲⽅⾃营项⽬、⾦融、电商&#xff09…

鸿蒙开发 三十七 ArkTs类 class 构造函数

语法格式如下&#xff1a; class 类名{ 字段1:类型 字段2:类型 constructor(参数...) { this.字段 参数 } } 实例化&#xff1a; const 实例1 new 类名(参数...&#xff09;每new一次就去执行一次constructor方法&#xff0c;创建不同的实例。 每次new都要传参数&…

MySQL学习笔记(持续更新,目前到十一章锁)

1、Mysql概述 1.1 数据库相关概念 三个概念&#xff1a;数据库、数据库管理系统、SQL 名称全称简称数据库存储数据的仓库&#xff0c;数据是有组织的进行存储DataBase&#xff08;DB&#xff09;数据库管理系统操纵和管理数据库的大型软件DataBase Mangement System&#xf…

C++ -string -常见用法1

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【C】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 文章目录 &#x1f4a1;前言1.构造函数1.1函数原型1.2用法速览1.3详解() -重点⭐( s) -重点⭐( n, c) -重点⭐( str) -重点⭐( str, pos, len)( s, n) 2.容量函数2.1函数原型2…

github 上将 stable 合并到 master 分支步骤

本地仓库分支&#xff1a;origin 远端仓库分支&#xff1a;upstream 切到非 master 分支上&#xff0c;比如 dev # 本地操作 git branch -D master git fetch upstream master::master git checkout master # 这步是拉取远端 stable 到 master 上&#xff0c;可能会出错误 # fa…

21次惊艳亮相!凯特王妃的秋季时尚造型!在时尚领域她已经无限接近戴安娜王妃

虽然凯特米德尔顿正式成为英国王室成员才刚刚十多年&#xff0c;但很难想象没有她的王室会是什么样子。毕竟&#xff0c;凭借她非凡的风格和不可否认的魅力&#xff0c;威尔士王妃在2011年迅速赢得了我们以及全世界的喜爱。 我们都喜欢关注她的项目以及她和威廉王子的爱情故事…

基于STM32的智能电能表设计

引言 本项目设计了一个基于STM32的智能电能表&#xff0c;能够实时测量电压、电流、功率以及累计的电能消耗。通过ADC模块采集电压和电流信号&#xff0c;结合功率计算算法&#xff0c;系统可以精准地监控家庭或工业设备的电能消耗。该智能电能表还支持远程数据传输和本地数据…

Krea.ai正式发布AI视频集合站:Luma、Runway与可灵的深度整合

引言 在数字内容日益丰富的今天&#xff0c;视频制作的需求呈现爆发式增长。为了满足创作者对高效、创新视频工具的渴求&#xff0c;Krea.ai推出了全新的AI视频集合站。此平台整合了多款领先工具&#xff0c;如Luma、Runway、可灵和Minimax&#xff0c;为用户提供一站式的视频…

【等号绕过】

简介 一、大小于号绕过 上面的<>是不等于的意思 测试注入点&#xff1a; id1 正常输入id1 测试是否有注入id1 and 11%23 提示hacker~ 被过滤了id1 and 1%23 没有被过滤&#xff0c;说明是被过滤&#xff0c;但是没有输出id1 and 1%23 页面有输…

25四非网安保研回忆录(北航网安/东南网安/重大计科等)

目录 0 个人情况 1 夏令营 西南大学计科 西南交通大学计科 重庆大学计科 2 预推免 东南大学网安 北京航空航天大学网安 3 写在最后 0 个人情况 计算机类比较强的四非&#xff0c;信安专业rank1&#xff0c;六级540&#xff0c;竞赛十几个&#xff0c;无论文&#xff…

【Linux网络编程】网络基础 | Socket 编程基础

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…

2.13寸电子墨水屏HINK-E0213+esp8266

记录好数字 2.13寸电子墨水屏HINK-E0213esp8266 声明:大部分资料来源于微雪电子http://微雪电子-官网 https://www.waveshare.net/ 前言 很久以前买的一块电子墨水屏,运气很好,这个型号HINK-E0213资料很全,而且微雪官网也有相关电路资料http://2.13inch e-Paper HAT - Waves…

java邮件发送

文章目录 前言一、开启SMTP邮箱配置二、spring-mail1.引入依赖2.yml配置3.使用二、hutool-mail1.引入hutool2.在resource下新增mail.setting3.使用总结前言 发送邮件: 目前比较简单的有两种方式实现: spring-mailhuool-mail现在看下两种方式 一、开启SMTP邮箱配置 两种方式…

mysql查询2张表连接列名一样的情况

people表&#xff1a; person表&#xff1a; SELECT * FROM person LEFT JOIN people on people.idperson.id 查询的结果id(1)和name(1)说明列名重复 SELECT person.id,person.name,people.id as pid,people.name as pname FROM person LEFT JOIN people on people.idperso…

Linux shellcheck工具

安装工具 通过linux yum源下载&#xff0c;可能因为yum源的问题找不到软件包&#xff0c;或者下载的软件包版本太旧。 ShellCheck的源代码托管在GitHub上(推荐下载方式)&#xff1a; GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts 对下…

10.高级存储过程技巧(10/10)

高级存储过程技巧博客大纲 引言 在现代数据库管理系统中&#xff0c;存储过程作为提升数据操作效率和安全性的关键工具&#xff0c;已被广泛应用于各种数据库操作中。存储过程是一组为了完成特定功能的SQL语句集合&#xff0c;这些语句在数据库中被保存、编译和优化&#xff0…