like '001%' 这种可以的,会用到索引,所以速度应该不会很慢,如果是聚集索引就更快了Like '%001' 或 '%001%' 就不会用到索引,所以性能就不行

解决方案 »

  1.   

    而 IN(1,2,3)  这种不会用到索引,性能反而不如 Like '001%'
      

  2.   

    楼主这种方式是比较大众化的, 而采用存储过程的非递归的方式不知道楼主测试过没,我认为性能是非常不错的http://topic.csdn.net/u/20100715/23/14cb47cc-ea8f-43ba-be47-2afd48fafdaa.html
      

  3.   

    还可以用Left表结构内加地图(每个节点数据都包含节点所在的位置,以为层次结构)
    ID Name     Path
    1  一级       0
    2  一级_1    0,1
    3  一级_2    0,1
    4  一级_1_1  0,1,2
    5  二级       0获取Name为“一级”的下属节点
    先获取出该名称的Path为“0”,再加上“,” 与该名称的ID  
    string path="0,1"
    然后
    select * from Product where left(Path,len(path))=path