当前位置: 首页 > wzjs >正文

a站是啥搜索引擎优化seo方案

a站是啥,搜索引擎优化seo方案,网站跨省备案,如何在阿里云部署网站【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 这段代码是一个 MyBatis 的 Mapper XML 配置&#xff0c;实现了批量插入或更新视频文件信息的功能。下面详细解析这个 SQL 语句的各个部分&#xff1a; 1. 基本结构 <insert id"…

【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版

这段代码是一个 MyBatis 的 Mapper XML 配置,实现了批量插入或更新视频文件信息的功能。下面详细解析这个 SQL 语句的各个部分:

1. 基本结构

<insert id="insertOrUpdateBatch" parameterType="com.easylive.entity.po.VideoInfoFilePost">INSERT INTO video_info_file_post(...) VALUES (...)ON DUPLICATE KEY UPDATE ...
</insert>

这是一个典型的 MyBatis 批量操作语句,使用了 MySQL 的 INSERT ... ON DUPLICATE KEY UPDATE 语法。

2. 插入部分详解

INSERT INTO video_info_file_post(file_id,upload_id,user_id,video_id,file_index,file_name,file_size,file_path,update_type,transfer_result,duration
) VALUES
<foreach collection="list" item="item" separator=",">(#{item.fileId},#{item.uploadId},#{item.userId},#{item.videoId},#{item.fileIndex},#{item.fileName},#{item.fileSize},#{item.filePath},#{item.updateType},#{item.transferResult},#{item.duration})
</foreach>

关键点:

<foreach> 标签:MyBatis 的循环标签,用于处理集合
collection="list":表示参数是一个 List 集合
item="item":定义循环变量名
separator=",":每次循环后用逗号分隔
#{} 表达式:MyBatis 的参数占位符,会预编译防止 SQL 注入
• 使用 item.属性名 访问集合元素的属性

3. 冲突更新部分详解

ON DUPLICATE KEY UPDATE
file_index = VALUES(file_index),
file_name = VALUES(file_name)

关键点:

ON DUPLICATE KEY UPDATE:MySQL 特有语法,当主键或唯一键冲突时执行更新
VALUES() 函数:引用 INSERT 语句中尝试插入的值
• 这里只更新了 file_indexfile_name 两个字段,其他字段保持不变

4. 完整逻辑流程

  1. 尝试批量插入多条记录到 video_info_file_post
  2. 如果某条记录的 file_id(假设是主键)已存在,则执行更新操作
  3. 更新时只修改 file_indexfile_name 字段
  4. 其他字段保持原值不变

5. 实际执行示例

假设传入的 List 包含两个元素:

List<VideoInfoFilePost> list = Arrays.asList(new VideoInfoFilePost("id1", "up1", "user1", "vid1", 1, "name1", 100, "path1", 0, 0, 100),new VideoInfoFilePost("id2", "up2", "user1", "vid1", 2, "name2", 200, "path2", 0, 0, 200)
);

生成的 SQL 语句类似:

INSERT INTO video_info_file_post(file_id, upload_id, user_id, video_id, file_index, file_name, file_size, file_path, update_type, transfer_result, duration
) VALUES
('id1', 'up1', 'user1', 'vid1', 1, 'name1', 100, 'path1', 0, 0, 100),
('id2', 'up2', 'user1', 'vid1', 2, 'name2', 200, 'path2', 0, 0, 200)
ON DUPLICATE KEY UPDATE
file_index = VALUES(file_index),
file_name = VALUES(file_name)

6. 设计考虑

  1. 性能优化:批量操作减少数据库往返次数
  2. 原子性:整个操作在一个事务中完成
  3. 灵活性:只更新需要变更的字段
  4. 幂等性:重复执行不会产生副作用

7. 使用场景

这种批量插入或更新操作特别适合:
• 初始化数据
• 批量导入
• 数据同步
• 需要处理大量记录的定时任务

8. 注意事项

  1. 确保表有主键或唯一键约束,否则 ON DUPLICATE KEY UPDATE 不会生效
  2. 大批量操作时可能需要分批处理,避免单条 SQL 过大
  3. 在高并发环境下注意锁竞争问题
http://www.dtcms.com/wzjs/82854.html

相关文章:

  • 工信部网站查询seo优化网站源码
  • 营销网站优化seo搜索app下载
  • 做外汇消息面的网站怎样在百度上做免费推广
  • 谁会写网站代码seo广告投放
  • 网站搭建配置seo优化方法
  • 网站建设交易百度电话销售
  • vr网站开发最新发布的最新
  • 手机销售网站制作长尾词挖掘工具爱站网
  • 网站制作 长沙谷歌优化推广
  • 庄辉个人网站建设教学专业seo网络营销公司
  • php会了 怎么做网站手机百度网页版入口
  • 网站建设公司广告标题语求购买链接
  • 广告游戏重庆seo公司排名
  • 怎么通过网站打广告长沙百度推广运营公司
  • 惠安县住房和城乡规划建设局网站产品推广运营方案
  • 长沙圭塘网站建设公司seo网站优化助理
  • 南开做网站公司免费seo课程
  • 淮安市建设工程施工图审查处网站网络营销成功案例有哪些
  • 做浏览任务赚钱的网站营销型网站建设总结
  • 专业建站公司的业务内容网站转让出售
  • 哪个公司做网站最好深圳手机刷网站排名软件
  • 2017做网站挣钱吗搜索引擎优化百度百科
  • 做网站的软件 简单易学站外推广怎么做
  • 棋牌推广如何精准引流搜索引擎优化的对比
  • 怎么做网站邮箱百度用户服务中心
  • 网站适配手机网络黄页平台网址有哪些
  • 河源网站制作重庆整站seo
  • 政府形象建设 网站更新网络营销平台名词解释
  • 建设企业人力资源网站交换友情链接的条件
  • 天元建设集团有限公司济南六公司网站优化推广培训