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

苏州网站怎么做网站导航的建设模板

苏州网站怎么做,网站导航的建设模板,外贸主动营销网站建设,微信注册小程序步骤场景 你作为一个服务端工程师,假设产品要求设计这么一个页面,页面上包含很多模块,每个模块都可以单独进行变更,有些模块是富文本。 实现方式有很多,我们来聊比较常用的两种,看看mysql的表如何设计。 第一…

场景

你作为一个服务端工程师,假设产品要求设计这么一个页面,页面上包含很多模块,每个模块都可以单独进行变更,有些模块是富文本。

在这里插入图片描述

实现方式有很多,我们来聊比较常用的两种,看看mysql的表如何设计。

第一种使用key-val的方案,这就需要两张表。

CREATE TABLE `playground` (`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '名称',`operator_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '操作人id',`status` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '状态,1使用 2删除',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`),KEY `idx_operator_id` (`operator_id`),KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB COLLATE=utf8mb4_general_ci COMMENT='playground项目信息'CREATE TABLE `current_info` (`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`playground_id` bigint unsigned NOT NULL COMMENT 'playground_id',`item_type` int NOT NULL DEFAULT '0' COMMENT '每个模块的id',`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '模块内容',`operator_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '操作人id',`status` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '状态,1使用 2删除',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`),KEY `idx_playground_id` (`playground_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='当前信息'

第二种方式则是放在一张表记录

CREATE TABLE `current_info` (`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '名称',`description` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '描述',`status` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '状态,0无效,1有效',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',`creator_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '创建者ID',`a` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'a模块内容',`b` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'b模块内容',PRIMARY KEY (`id`),KEY `idx_creator_id` (`creator_id`),KEY `idx_create_time` (`create_time`),KEY `idx_update_time` (`update_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='内容表'

对于这两种方案,你会如何选择?

对比

我个人建议选择正常存储的方案,因为适应面更加广泛

Key-val正常存储
优点增加新模块,服务端无需感知,前端自行增加即可实现复杂度低很多
缺点1. 即使是普通的列表,实现起来也比较复杂,必须有一张主表 2.列表排序、筛选不好实现,如按照修改时间排序、根据名称筛选等 3.数量多,页面数据会有多条 4.字段浪费严重,每个字段必须一样,大部分情况是是text每次有新增模块,服务端需要一起修改。但这个比较正常,大部分时候新增的功能,服务端总是需要做一些改动的

总结

对于技术方案的选择,十分重要,尤其是作为第一版的设计者。怎么知道哪个方案更加合适呢?我的想法是找到当前的各个场景和预判将来的各个场景,思考一下如果用某套方案实现这些场景,成本如何。

http://www.yayakq.cn/news/395950/

相关文章:

  • 网站内容计划h5在线制作工具手机版
  • 思茅北京网站建设网站规划与建设心得体会
  • wordpress建购物网站中国十大it培训机构排名
  • 校园网站建设的背景seo网站做推广价格
  • 网站备案转入wordpress评论签到
  • 飞沐网站设计扬州哪家做网站好
  • 兰州做高端网站的公司临淄信息网港
  • 网站建设与维护的题目怎么下载文件
  • 网站seo怎么填写建站小二
  • 微信里有人发做任务网站搜多多搜索引擎入口
  • 中国门户网站有哪些seo网站做推广公司
  • 做网站干什么用医院有关页面设计模板
  • 市场部做网站工作职责asp个人网站模板
  • 什么网站可以做图赚钱做全景图的网站
  • 网站开发面试都会问什么问题怎么开发创建网站教程
  • 南通网站建设协议ui设计工资怎么样
  • 汉服网站的建设网络服务器配置与管理考试题
  • 企业网站兰州建设费用initial wordpress
  • 夏天做那些网站能致富公司简介模板100字范文
  • 哪里有免费建设网站北京三原色ps网站
  • 源码网站建设步骤wordpress增加产品模块
  • 做网站怎样产生效益seo推广需要多少钱
  • 网站新闻稿模板怎么做网站icp备案
  • seo外链网站大全足球外围网站自己做的
  • 广州天河区最新情况seo岗位职责
  • 合肥在线西安官网seo公司
  • 如何建立网站域名网站右侧出现百度名片叫什么
  • 怎么写网站建设与运营平面网页设计培训
  • 网站的关键词挖掘方式市场营销策划书
  • php购物网站开发uml图网站上线 流程