处理表字段太多

1、用于查询和展示的 不建议分表,      优点:包含全部字段的表,在查询时避免了连表查询,程序处理起来比方便,有时候某些表会加进一些冗余字段,也就是为了避免连表查询。查询的效率方面有优势。

2、若只是存储数据,可以考虑分表。 3、如果字段间有一对多,多对多关系,还是把这部分抽出去好

4、有些表在设计时设置了很多的字段。这个表中有些字段的使用频率很低。当这个表的数据量很大时,查询数据的速度就会很慢,对于这种字段特别多且有些字段的使用频率很低的表,可以将其分解成多个表。

5、有时需要经常查询某两个表中的几个字段。如果经常进行联表查询,对于这种情况,可以建立中间表来提高查询速度: 实现: 先分析经常需要同时查询哪几个表中的哪些字段。然后将这些字段建立一个中间表,并将原来那几个表的数据插入到中间表中,之后就可以使用中间表来进行查询和统计了。

时间: 2024-10-21 10:54:17

处理表字段太多的相关文章

jeesite表字段太多导致不能自动生成那张表的代码——————jetty 之 form too large | form too many keys 异常

看了Jetty的源码才发现,jetty限制了Form提交数据的大小,该源码类来自jetty lib库下的jetty-server-7.6.16.v20140903.jar包下的 org.eclipse.jetty.server.Request类,打开该类可以看到以下代码: 解决方法: 二是在web项目中的WEB-INF文件夹下新建一个jetty-web.xml文件 在jetty-web.xml 文件中添加以下内容: <?xml version="1.0" encoding=&qu

MySQL生产库中添加修改表字段引起主从崩溃的问题总结

上周末和开发人员对线上库中的部分表的在线DDL和update,这过程中出现了一些意料之外的问题,现将过程.分析和解决方案在这里总结一下 一. 需求背景: 要在如下表中添加字段(modified_at)并且更改默认值 table_name { baby_compbaby_comp_statusbaby_usrbaby_ad_userbaby_campbaby_ordbaby_acc_eva } 每张表执行如下操作ALTER TABLE `$table_name` ADD COLUMN `modif

在不清楚数据表字段数据分布的情况下,应该创建什么类型的索引?

在讨论之前,先看看关系型数据库常见的索引类型: 1.位图索引,适用于该字段重复数据很多的情况: 2.B+树索引,适用于该字段重复数据不多的情况. 在不清楚数据表字段数据分布的情况下,应该创建什么类型的索引?个人觉得以上两种都不太适用,可以尝试使用第3类的索引: 3.倒排索引,在搜索引擎使用较多,适用于大多数的情况. 使用普通的文本文件格式存储倒排索引,格式为: value:rowid(行标识码),字段值对应value,rowid对应该行的标识码. 要注意的是,在创建倒排索引时,倒排索引的key需

Excel2007数据透视表字段设置按钮为灰色

作者:iamlaosong 刚从Excel2003转到Excel2007,菜单不太熟悉,一个功能往往要找半天,做数据透视表自然也会碰到一些问题,这里说说字段设置时碰到的一个问题.Excel2007数据透视表字段设置可以设置对数据字段的处理方式,包括求和.计数.平均值.最大值.最小值.乘积.数值计算.标准偏差.总体标准偏差.方差和总体方差.字段设置网上有很多文章描述,这里就不多说了. 我在做字段设置时,发现"字段设置"按钮为灰色,点击不起作用,折腾半天才发现,设置字段时如果是左边字段(行

使用SQL语句查询表及表字段类型说明

今天突然遇到有人要数据库表及表字段说明,数据库表太多又不能一个个表去找,就想想SQL是否能直接查询出来. 经过查询资料,加上一些自己的一些调整写了一个sql语句,在此记录一下,以方便日后查找使用. SELECT ( CASE WHEN a.colorder = 1 THEN d.name ELSE '' END ) N'表名' , ( CASE WHEN a.colorder = 1 THEN ISNULL(( SELECT TOP 1 value FROM sys.extended_prope

Supermap iClient 空间查询关联外表表查询多表字段示例代码

原创文章,转载请注明出处!http://blog.csdn.net/songhfu 空间查询关联属性表,并查询空间表和关联表字段示例代码如下: /* * 关联测试成功代码 * */ var joinItem=new SuperMap.REST.JoinItem({ foreignTableName: "V_ENABLEVIEW_LAND", joinFilter: "BBS_PARCEL.CADASTRALNO = V_ENABLEVIEW_LAND.CADASTRALNO

如何在Sql2008中获取表字段属性和注释?

如何在Sql2008中获取表字段属性和注释? select b.[value] from sys.columns a left join sys.extended_properties b on a.object_id=b.major_id and a.column_id=b.minor_id inner join sysobjects c on a.column_id=c.id and a.[name]='列名' and c.[name]='表名' SELECT 表名=case when a.

.Net常用技巧_获取SQL Server表字段的各种属性

-- SQL Server 2000 SELECT a.name AS 字段名, CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND parent_obj = a.id AND name IN (SELECT name FROM sysindexes WHERE indid IN (SELECT indid FROM sysindexkeys WHERE id = a.id AND colid = a.colid))

修改非空表字段类型Oracle

执行以下语句报"要修改数据类型,则要更改的列必须为空"       alter table 表名 modify (目标字段 varchar2(100)); 解决步骤: 第一步,在表中加一个临时字段       alter table 表名 add 临时字段 目标字段原来的类型; 第二步,将目标字段的值付给临时字段,并将目标字段置空       update 表名 set 临时字段=目标字段,目标字段=null; 第三步,修改目标类型       alter table 表名  modi