菜鸟求助,text类型的字段有必要拆分出去新建一个表吗?

zjw529449220 2013-05-15 03:16:51
现在有个A表中有个text属性的字段,存储的是json数据;有么有必要将这个字段单独拿出来新建一个B表
...全文
575 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2013-05-15
  • 打赏
  • 举报
回复
之前应用,主要是UI要导航式操作,会用一个字段来存储。如果否这样的情况建议分栏位分表控制
chuifengde 2013-05-15
  • 打赏
  • 举报
回复
会有影响,理论上我上面我说了,供参考,就象范式一样,实际中也不是常严格遵循范式来建表的 有没有影响你生成测试数据测一下
zjw529449220 2013-05-15
  • 打赏
  • 举报
回复
引用 11 楼 chuifengde 的回复:
1.text/image是不能distinct的 2.text通常会占用整个表的一半以上空间,对与记录数小的可能不觉得,但数量多时,表空间将迅速膨胀,试想一下,在一间房子里找与在一个城市里找哪个更快? 3.通常情况下,作为一个实体的所有属性,把经常存储和查找的属性放在一个表,不常用的放在另一个表
1.text/image是不做查询条件的 2.但是有其它索引确定text,在查询的时候根据索引进行查找,不过空间的大小会对查询其它字段有很大影响吗? 如果将text换成Varchar(max)还有必要进行单独分表吗?
chuifengde 2013-05-15
  • 打赏
  • 举报
回复
1.text/image是不能distinct的 2.text通常会占用整个表的一半以上空间,对与记录数小的可能不觉得,但数量多时,表空间将迅速膨胀,试想一下,在一间房子里找与在一个城市里找哪个更快? 3.通常情况下,作为一个实体的所有属性,把经常存储和查找的属性放在一个表,不常用的放在另一个表
zjw529449220 2013-05-15
  • 打赏
  • 举报
回复
引用 9 楼 chuifengde 的回复:
text,image等大数据列,最好是分开来,无论是从sql查询上还是空间上都有优势
能详细讲解下吗?拜托了
chuifengde 2013-05-15
  • 打赏
  • 举报
回复
text,image等大数据列,最好是分开来,无论是从sql查询上还是空间上都有优势
zjw529449220 2013-05-15
  • 打赏
  • 举报
回复
引用 7 楼 DBA_Huangzj 的回复:
[quote=引用 6 楼 zjw529449220 的回复:] [quote=引用 5 楼 DBA_Huangzj 的回复:] 新建表其实用处不大,特别是text类型的列,搜索起来相当麻烦,而且基本上建不了索引。也不建议建索引。
新建B表后会有一个对应值,类似key_value,key作为主键,然后在A表中有个字段与key关联。因为我找不到新建表的缺点也找不到什么优点,还有新建表的话会进行连表查询,这样是不是比建一个表性能要低呢?这个JSON数据会进行更新的[/quote]通常情况下,如果没有必要多表关联就别关联了,单表查询本身就少了很多步骤,比如权限、查询别的表上的统计信息、索引等。分表对查询text类型我觉得没有提升,如果你找不到优点,那就不要做了。[/quote] 那如果因为这个字段导致A表非常大,对A表进行操作会不会有性能影响?例如本来只有几M的,加了这个text变成了几百甚至更大。
發糞塗牆 2013-05-15
  • 打赏
  • 举报
回复
引用 6 楼 zjw529449220 的回复:
[quote=引用 5 楼 DBA_Huangzj 的回复:] 新建表其实用处不大,特别是text类型的列,搜索起来相当麻烦,而且基本上建不了索引。也不建议建索引。
新建B表后会有一个对应值,类似key_value,key作为主键,然后在A表中有个字段与key关联。因为我找不到新建表的缺点也找不到什么优点,还有新建表的话会进行连表查询,这样是不是比建一个表性能要低呢?这个JSON数据会进行更新的[/quote]通常情况下,如果没有必要多表关联就别关联了,单表查询本身就少了很多步骤,比如权限、查询别的表上的统计信息、索引等。分表对查询text类型我觉得没有提升,如果你找不到优点,那就不要做了。
zjw529449220 2013-05-15
  • 打赏
  • 举报
回复
引用 5 楼 DBA_Huangzj 的回复:
新建表其实用处不大,特别是text类型的列,搜索起来相当麻烦,而且基本上建不了索引。也不建议建索引。
新建B表后会有一个对应值,类似key_value,key作为主键,然后在A表中有个字段与key关联。因为我找不到新建表的缺点也找不到什么优点,还有新建表的话会进行连表查询,这样是不是比建一个表性能要低呢?这个JSON数据会进行更新的
發糞塗牆 2013-05-15
  • 打赏
  • 举报
回复
新建表其实用处不大,特别是text类型的列,搜索起来相当麻烦,而且基本上建不了索引。也不建议建索引。
zjw529449220 2013-05-15
  • 打赏
  • 举报
回复
引用 3 楼 DBA_Huangzj 的回复:
也不是很有必要,但是最好把text类型转换成varchar(max),因为text有很多限制
新建表有什么优点吗?新建表和不新建哪种效率更高啊
發糞塗牆 2013-05-15
  • 打赏
  • 举报
回复
也不是很有必要,但是最好把text类型转换成varchar(max),因为text有很多限制
zjw529449220 2013-05-15
  • 打赏
  • 举报
回复
是不是我的问题太简单了??求回复啊
zjw529449220 2013-05-15
  • 打赏
  • 举报
回复
最好是能详细讲解下这样做的优缺点,在线等啊

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧