重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用insert select从其他有数据的表里抽出相同类型的数据就行了,实在不行从系统表里面抽
创新互联服务项目包括繁峙网站建设、繁峙网站制作、繁峙网页制作以及繁峙网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,繁峙网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到繁峙省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
你是想改表结构还是插入数据?\x0d\x0a表结构:右键点中表,选设计表,移动到最底部一条,“创建栏位”将在这之后增加一列;“插入栏位”将在这列之前增加一列。\x0d\x0a插入数据:双击打开表,下面有个“+”的符号,点一下,增加一条记录,然后再点一下下面的对钩保存数据。\x0d\x0anavicat 很简单的。慢慢熟悉吧,记得去把它汉化哦。
因为一些个人习惯的原因,我在设计数据表的时候比较偏向在表的最后一列添加一个类型为 json 的 extra 字段,专门存放一些非格式化字段,偶尔记一个 label,tag等非常便捷。但是现在遇到一个问题,json 中的某个字段在某些业务的时候被大量查询。
在 table 比较小的时候丝毫不影响效率,但是随着 table 增大,应该打到一个临界的时候查询速度骤降,一个简单的查询需要扫描 100w+ 行,查询时间从 3s 到 80s 不等。
常规操作时添加一个索引,但是由于查询的是 json 中的某个 key,mysql 目前没有办法直接给 json 字段添加索引,但是有一个曲线救国的办法,将其中的字段抽出来作为一个虚拟字段,然后给这个字段添加索引,这时候 mysql 就会缓存该字段,我们在需要查询的地方去使用虚拟字段就可以了,因为走的是索引查询速度特别快。
当然还有另外一个方法,就是将 json 的 key 提取出来作为一个新字段,这样做也可以但是需要修改很多地方,特别是在有很多插入和更新的操作的时候,还有可能引入新的 bug。
第一、看你的sql文本的结构分析才能知道最佳方案!
第二、表中的字段, 你可以给他设置一个默认值或者设置可以为空, 这样, 字段不写入值也可以
但如果,你的字段没有默认值, 又不允许为空, 那么, 就必须写入值, 否则插入数据会不成功!