就是说,从一个表中读取4个字段(举例子),第一个表中有4个字段,第二个表中有10个字段,当然第二个表中的其中4个字段和第一个表是一样的,也就是要读取的那4个,在数据了大的时候读这俩表的时候,是不是第一个表会比第二个表快呢,还是即使是字段多也无关紧要,只要是读取想要的都差不多??????
没分,探讨测试下啊,大伙。

解决方案 »

  1.   


    lz说的是个老问题,是牺牲IO完整逻辑数据,还是牺牲逻辑数据提高IO的问题。 
    这得具体问题具体分析。 
      

  2.   

    如果读取同样4个字段,8kb的页面,假设第一个表放20条数据,第二个表肯定<=20条数据,你查询1万条,第二个表读取的页面肯定要多一些的,查询1条,倒是可能一样,看情况了。
      

  3.   

    诸位,真不知道你们是评记忆回答的还是真的实验过,看了各位的回答我还是亲自测试了一下,我再把问题说一下,是两个表都读一样的4个字段值,这4个字段值是一样的,只是两个表的字段数不一样,表1只有4个,表2有10个或者更多。其实读取4个字段跟表的字段多少是没有关系的,因为你只读取4个,根本不设计到其余数据的IO读取,像上面几位的回答说字段多了IO量会增加,你都不读怎么会有IO增加呢??所以经过我的亲自测试:读取相同的字段,无论表字段多少都是一样的!!!!!
      

  4.   

    你的行不够大,行内数据够大时,一页存储的数据会变少,相应的,读取N条数据就可能导致读取更多的数据页,导致IO变大。
      

  5.   

    这就是为什么我们要对大表创建index来加快select的速度了....index也是一个表,只不过只存放我们需要访问的几个字段.所以query会很快