如主表A 字段 aid,atitle,claname,表B分类字段 bid,bname ,表C为关系表 caid,cbid数据假设
aid,atitle,claname
1  标题   2,5,8bid,bname
2    分类名2
5    分类名5
8    分类名8 caid,cbid
1        2
1        5
1        8一般情况下(甲),直接根据指定分类查询表A记录,用FIND_IN_SET('2',claname) 
另一种情况(乙),查询C表 cbid=2 ,然后join 表A,caid=aid
请问在大量数据情况下,按分类查询是甲的方法快,还是乙的方法快?
我从十万数据量中查询测试,甲方法似乎更快,由于数据量 少,每次重现性不是很好,希望有经验的人能告知,谢谢

解决方案 »

  1.   

    多谢。由于还有个USERID,在对比加了索引后,测试发现,乙方法数据库空间增加很多,而且考虑到即使是十万级以上数据,表A先用索引字段USERID查询,每个用户的数据量还是有限的,目前用的还是甲方法
      

  2.   


    你测试用的语句是什么? 十万数据应该是乙方法更有效啊。建议贴出你的语句及 explain select 的结果。