问题描述
现在有一个栏目表(6万条)和软件表(300万条)。系统要求传入一个栏目id,在软件表中查出所有该栏目和子栏目的软件信息。现在采用方式是在软件表中有个一字段pathlist(varchar,已建索引)保存软件所属栏目的路径(例如:1,4,9,54,246,8813,64513)。系统需要分页查询第一页select[id],[title],[createtime],row_number()over(orderbyiddesc)as[row_number]fromtb_softwhere[pathlist]like'1,4,9,54,%'and[row_number]>0and[row_number]<20现在的情况是查询顶级栏目0毫秒,查询子栏目一般在100毫秒。但是分页需要一次count查询,顶级栏目1秒左右,子栏目70毫秒。请问一下现在这样数据设计有没有问题,还有没有更好的设计方法。还是要求传入栏目id,就可以查询该栏目和所有子栏目的软件。如果该设计可行,怎么能提高性能。比较count查询的1秒简直无法接受。手头没有分了,不好意思。望高手解答在此,谢谢。
解决方案
解决方案二:
顶,自己顶一下
时间: 2025-01-21 02:51:27