东营免费建网站幼儿活动设计方案模板

news/2025/10/7 12:45:42/文章来源:
东营免费建网站,幼儿活动设计方案模板,wordpress禁用更新提示,高端网站策划公司一、关于效率和适用范围 尽管官方承诺Json格式字段采用了空间换时间的策略#xff0c;比Text类型来存储Json有大幅度的效率提升。但是Json格式的处理过程仍然效率不及传统关系表#xff0c;所以什么时候用Json格式字段尤为重要。 只有我们确定系统已经能精确定位到某一行比Text类型来存储Json有大幅度的效率提升。但是Json格式的处理过程仍然效率不及传统关系表所以什么时候用Json格式字段尤为重要。 只有我们确定系统已经能精确定位到某一行比如用主键、创建时间范围等这时候我们的数据集合比较小那么我们就可以放心大胆的用Json格式字段进行进一步数据处理而且Json中所存储的信息一定不是检索时必要的筛选信息和统计时需要计算的关键数据不要妄想在百万行Json字段里对某一个Json属性进行搜索、聚合这属于纯粹找虐。 比如说我们读个字典以往要拆成两个表现在一个表就可以解决或者说ERP系统里我们可以把万年不查的子表、孙表都放在一个Json字段里这样用单表即可解决复杂结构化数据存储的问题。 举个每个人都知道具体场景的例子CMS系统有内容页传统方式解决扩展字段大多都用键值对表也就是窄表来解决问题但事实上键值对表的查询非常慢所有的数据都以TEXT的方式存储因为要照顾到富文本自定义字段因此非常难以查询当用户已经点击进入内容页的时候我们已知具体是内容表的哪一行此时直接将JSON数据返回给前端的效率要完全优于遍历键值对表而且还能对Json的某个属性加索引也可以对整个Json串加全文索引这样对某个栏目下的有限内容的同一个字段就很容易进行统计。 再举一个经常遇到的例子业务总是在变化字段总要变需要兼顾灵活性和效率不得不用Json字段来处理数据。 二、实测前的准备工作 建表就不用说了主流建表工具都支持建立Json列。 插入和更新数据也不用说了就当是操作字符串即可只有一个局部更新可能需要用到后面会讲到。 我们这里主要讲查询。 假设我们有这么一个表my_table后面的例子都用它来举例 CREATE TABLE my_table (id bigint NOT NULL AUTO_INCREMENT,code varchar(255) NULL,name varchar(255) NULL,attrs json NULL,create_time datetime NULL,creator bigint NULL,last_modify datetime NULL,modifier bigint NULL,time_stamp datetime NULL,deleted tinyint NULL,PRIMARY KEY (id) );然后我们准备好要测试的数据 INSERT INTO my_table (id, code, name, attrs, create_time, creator, last_modify, modifier, time_stamp, deleted) VALUES (1, menu, 菜单, [{\code\: \menu1\, \name\: \菜单1\}, {\code\: \menu2\, \name\: \菜单2\}], NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO my_table (id, code, name, attrs, create_time, creator, last_modify, modifier, time_stamp, deleted) VALUES (2, sysConfig, 系统设置, {\sysName\: \某综合管理系统\, \wxAppId\: \wx1234567\}, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO my_table (id, code, name, attrs, create_time, creator, last_modify, modifier, time_stamp, deleted) VALUES (3, site, 站点设定, [{\code\: \a.myweb.com\, \extra\: {\owner\: \rantUser1\}, \visited\: 200}, {\code\: \b.myweb.com\, \extra\: {\owner\: \rantUser1\}, \visited\: 300}, {\code\: \www.example.com\, \extra\: {\owner\: \rantUser2\}, \visited\: 157}, {\code\: \b2c.example.com\, \extra\: {\owner\: \rantUser2\}, \visited\: 775}], NULL, NULL, NULL, NULL, NULL, NULL); 都导入之后数据大概是这样子的 各种查询方法 晦涩难懂的官方原版Manual就不给大家重复了直接上干货 Json转表 Json转表是第一个要解决的问题只要变成我们熟悉的表很多传统MySQL的关联表、集合查询之类的操作都能用上了。 SELECT b.* FROM my_table AS a JOIN JSON_TABLE( a.attrs, $[*] COLUMNS (code VARCHAR(20) PATH $.code,name VARCHAR(20) PATH $.name) ) AS b WHERE a.code menu解析直接看图吧 查询结果 取属性 我们很多时候面向对象开发需要用到ORM框架但每次都要当做String来用FastJson、Gson之类的框架来解析实在是太麻烦。例如我们有MyBatis这样的框架直接在SQL语句里把Json的字段都附加上上层所有的应用框架全都可以认岂不是一劳永逸。 SELECT *,attrs-$.sysName sys_name,attrs-$.wxAppId wx_app_id from my_table where codesysConfig查询结果如下 维度抽取 这个是针对数组的echarts之类的框架会需要用到这里不做赘述 select attrs-$[*].code code_list,attrs-$[*].name name_list from my_table where codemenu查询结果 还可以针对多行一起获得维度抽取的结果如果碰到JSON不是数组的它也不会报错只是返回一个null非常人性化 select id,code,name,attrs-$[*].code sub_code from my_table查询结果 聚合操作 这次我们把已经设定的站点都取出来根据所有者的不同把他们网站的访问量都统计出来 SELECTb.owner,sum(b.visited) visited FROM my_table AS a JOIN JSON_TABLE( a.attrs, $[*] COLUMNS (owner VARCHAR(20) PATH $.extra.owner,visited BIGINT PATH $.visited) ) AS b WHEREa.code site GROUP BY owner局部更新 有时候我们并不想把整个Json都更新了只想更新其中一个值比如多人同时更新一个Json时各个内存中完整的Json副本都不一样如果贸然全量更新就会互相覆盖 UPDATE my_table SET attrs JSON_SET(attrs, $.sysName, 某网站管理系统) WHERE codesysConfig;通过上面这个方式就可以局部更新sysName这个key对应的值MySql内部做了优化如果值是相同的影响行数则返回0它并不会无脑覆盖。 总结 至于其他的用法对于应用层面开发来说没什么太大用途主要原因是大批量的Json加工压力还是在前端和后台所以数据库层面只需要关注读取方式、效率以及和ORM框架的兼容性即可。Json字段对于低代码开发、元数据、动态表单之类的应用是很有帮助的特别是对有些动态数据结构的加工来说省了很多精力。

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

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

相关文章

做一个网站 如何盈利制作网站源码软件

前言 最近在做项目过程中,我们注意到当考虑车体轮廓去进行全局路径规划(如混合A*算法),如果仅仅将障碍物点云数据中得每一个点只当成点,会造成较大的计算时间,如若将点云聚类成圆形 线型 多边形障碍物 会提高计算效率,这是其中一个原因,另一个原因是,我们需要知道障碍…

Ubuntu 下同名文件替换后编译链接到旧内容的现象分析 - 实践

Ubuntu 下同名文件替换后编译链接到旧内容的现象分析 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

Luogu P14007 「florr IO Round 1」查询游戏 题解 [ 蓝 ] [ 交互 ]

查询游戏 原题做法是显然的,子段绝对值最大值可以转化为求出前缀和序列的最大值、最小值,然后两者作差即可。查询操作可以转化为询问前缀和序列中两个元素比大小。因为查询数 \(2n\),所以各扫一遍用擂台法求最大、最…

RK3588和FPGA桥片之间IO电平信号概率性不能通信原因 - 实践

RK3588和FPGA桥片之间IO电平信号概率性不能通信原因 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

稀缺计算资源如何塑造机器学习优化专家

本文讲述了机器学习专家如何在有限计算资源条件下发展优化技能,重点介绍了特征选择技术在高维空间中的应用,以及如何将这些技术应用于保护电商平台安全的实际场景中。稀缺计算资源如何塑造卡洛斯韦尔塔斯的职业生涯 …

医院建设网站意义电子商务网站首页设计

Project下要创建四个文件夹: bin(输出目录\工作目录) 、include(头文件目录) 、lib(动态库目录) 、src(源码目录) 一、主项目模块配置: 1.配置属性——>常规——>输出目录加入(..\..\bin\) 2.配置属性——>调试——>工作目录加入($(OutDir)) 备注&am…

优雅的合并GIT分支

优雅的合并GIT分支 目标 将dev​分支合并到main分支,并且不产生“合并提交”。具体操作确保本地 main 分支是最新的: bash git checkout main git pull origin main # 获取远程最新的main分支代码切换到 dev​ 分支…

实用指南:豆瓣图书评论数据分析与可视化

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

cpa广告联盟网站建设高端网站开发平台

文章目录 标准化与池化1. 标准化/归一化1.1 归一化归一化的作用 1.2 标准化批标准化方法 Batch Normailzation标准化方法的对比自动学习标准化方法 2. 池化2.1 池化的作用2.2 常见的池化方法2.3 池化方法的差异2.4 池化的必要性 标准化与池化 1. 标准化/归一化 1.1 归一化 归…

网站开发的核心技术上海装修公司招聘施工队长

概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是—写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及的,它兼容 CSS3,还兼容各种浏览器(IE 6.0, FF 1.5, Safari 2.…

网站怎么做电脑系统下载wordpress文章表情插件

每个进程都有三个标准文件描述符:stdin(标准输入)、stdout(标准输出)和stderr(标准错误)。默认情况下,stderr会输出到终端。使用2>可以将stderr重定向到其他地方,比如…

广州市番禺区官网seo站群干什么的

题目 题目链接 分析 这道题目一定要多读几遍,才能理解。 大意就是你有钱budget 和 库存stock的金属零件,让你从一堆机器里面选择一种机器可以合成最多金属的数量是多少,这些机器合成金属需要的零件数目是不一样的,composition…

网站手机客户端在线制作北京知名网站

本文节介绍 PP-TSM 模型如何转化为 ONNX 模型,并基于 ONNX 引擎预测。 1:环境准备 安装 Paddle2ONNX python -m pip install paddle2onnx 安装 ONNXRuntime # 建议安装 1.9.0 版本,可根据环境更换版本号 python -m pip install onnxrunti…

完整教程:Excel to JSON 插件 2.4.0 版本更新

完整教程:Excel to JSON 插件 2.4.0 版本更新pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

Ai元人文:人文逻辑与规则逻辑的统一

Ai元人文:人文逻辑与规则逻辑的统一 让我们从 “人文逻辑与规则逻辑统一” 这一核心视角,对AI元人文构想进行一场深度的剖析与整合。 这不仅是技术的融合,更是一场认识论上的革命。 图片 核心理念:逻辑的统一而非对…

北仑网站制作线上推广渠道和方式

错误二:[ERR] 1227 - Access denied; you need (at least one of) the SUPER privilege… 觖决办法 用文本工具打开sql文件 查找: DEFINER fit_root% 把fit_root%账号改成你实际导入的那台服务器mysql账号保存即可

佛山市城乡住房建设局网站首页公众号可以开视频号?

背景 近期工作中要解决两个问题,一个是数据组需要网爬一些图片数据,另外一个是要批量爬取公司用于文档协同的一个网站上的附件。于是乎,就写了两个脚本去完成任务。 爬虫思路 第一步:向确定的url发送请求,接收服务器…

《二千年间》在线阅读

《二千年间》,作者:胡绳:https://www.dushu.com/guoxue/106674/

实用指南:Java 单例模式详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …