SqlServer表读取的性能问题,都来看看。 就是说,从一个表中读取4个字段(举例子),第一个表中有4个字段,第二个表中有10个字段,当然第二个表中的其中4个字段和第一个表是一样的,也就是要读取的那4个,在数据了大的时候读这俩表的时候,是不是第一个表会比第二个表快呢,还是即使是字段多也无关紧要,只要是读取想要的都差不多??????没分,探讨测试下啊,大伙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lz说的是个老问题,是牺牲IO完整逻辑数据,还是牺牲逻辑数据提高IO的问题。 这得具体问题具体分析。 如果读取同样4个字段,8kb的页面,假设第一个表放20条数据,第二个表肯定<=20条数据,你查询1万条,第二个表读取的页面肯定要多一些的,查询1条,倒是可能一样,看情况了。 诸位,真不知道你们是评记忆回答的还是真的实验过,看了各位的回答我还是亲自测试了一下,我再把问题说一下,是两个表都读一样的4个字段值,这4个字段值是一样的,只是两个表的字段数不一样,表1只有4个,表2有10个或者更多。其实读取4个字段跟表的字段多少是没有关系的,因为你只读取4个,根本不设计到其余数据的IO读取,像上面几位的回答说字段多了IO量会增加,你都不读怎么会有IO增加呢??所以经过我的亲自测试:读取相同的字段,无论表字段多少都是一样的!!!!! 你的行不够大,行内数据够大时,一页存储的数据会变少,相应的,读取N条数据就可能导致读取更多的数据页,导致IO变大。 这就是为什么我们要对大表创建index来加快select的速度了....index也是一个表,只不过只存放我们需要访问的几个字段.所以query会很快 请问数据库支持加密吗? 请问什么是remote server?有没有相关的介绍? 数据复制时怎样将表的owner带过去? 想把字段的值在原来的值的基础上加1,可以只用UPDATE搞定吗?还是要先SELECT然后把原值读出来加1后再UPDATE? 字符转换(新手问题) sqlserver2005中更新操作(参数为xml格式) 超级奇怪的问题,求各位高手帮忙 sql 怪问题,请教大家,谢谢! 我用这个SQLFreeHandle()为什么返回-2??? 查找数据库里time字段时间和当天时间一样的所有纪录,该如何写查询语句?? 还是刚那个问题 利用触发器同步更新两个数据库的问题
lz说的是个老问题,是牺牲IO完整逻辑数据,还是牺牲逻辑数据提高IO的问题。
这得具体问题具体分析。