望数据库高手帮助啊!关于子栏目查询的数据库设计

问题描述

现在有一个栏目表(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

望数据库高手帮助啊!关于子栏目查询的数据库设计的相关文章

SQL语句实现查询当前数据库IO等待状况_MsSql

sys.dm_io_pending_io_requests可以返回当前IO Pending的状态,对于SQL Server 中每个挂起的I/O 请求,返回与其对应的一行,跟sys.dm_io_virtual_file_stats配合可以看到具体是哪个数据库IO出现问题. select DB_NAME(database_id) as DBNAME, database_id, file_id, io_stall, io_pending_ms_ticks, scheduler_address from

附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本的解决方法_MsSql

昨天我只是将数据库附加到SQL2012,然后各个数据库都做了收缩事务日志的操作 兼容级别这些都没有改 再附加回SQL2005的时候就报错 在SQL2012里附加,确实是90级别,但是在SQL2005死活附加不上 备份数据库再还原也是一样 重建事务日志也是一样 然后我做了一个实验,检查一下附加到SQL2012的数据库和附加到SQL2005的数据库,两个数据库的文件头有什么不同 注意:两个数据库的兼容级别都是90,附加到SQL2012之后我也没有动过兼容级别!! 我们用同一个数据库,分别附加到SQL

读取图片-高手急救!如何用otl 4读取数据库图片保存到本地磁盘?

问题描述 高手急救!如何用otl 4读取数据库图片保存到本地磁盘? c++采用otl4读取数据库,其中图片数据应该是读取到otl_lob_stream对象中,但是这个对象的数据如何保存为本地图片呢? 解决方案 图片的保存和读取(从SQL数据库) 解决方案二: http://blog.csdn.net/dingwood/article/details/7266160

phpcms 调用当前栏目下的子栏目

category.html 写以下代码 {loop subcat($catid) $r} <ul> <li><a href="{$r[url]}" title="{$r[catname]}">{$r[catname]}</a></li> </ul> {/loop} list.html 写以下代码 {loop subcat($catid) $r} <ul> <li><

net menu 动态获取-Ext.net 2.5 中想要实现menu及子菜单动态从数据库中获取,如何实现

问题描述 Ext.net 2.5 中想要实现menu及子菜单动态从数据库中获取,如何实现 解决方案 看ext.net的例子代码,然后将写死的菜单数据部分修改为从数据库读取就可以了.

oracle11g-求数据库高手,关于oracle表分区的

问题描述 求数据库高手,关于oracle表分区的 现在项目有一个表,数据累计了1亿多条了,查询特别慢,问了公司的老员工,他们说分表,请问现在能分表吗,最好能给个步骤 解决方案 http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_7002.htm 在这个链接里面搜索"Partitioning Examples",在比较下面的位置.有各种例子,你可以看看哪个适用于你的情况

Android数据库高手秘籍(二)——创建表和LitePal的基本用法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/38556989 上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的.但是我们都知道,数据库是要和程序结合在一起使用的,单独对一个数据库去进行増删改查操作并没有什么意义,因此今天我们就来学习一下如何在Android程序当中去操作SQLite数据库,还没看过前一篇文章的朋友可以先去参考 Android数据库高手秘籍(一

ASP查询无限级分类子栏目ID

问题描述 我写了一个查询无限级子栏目ID的函数,代码如下:Function ChildSort(Cuz,SortID) fSortID = Int(SortID)Set RsLs=server.CreateObject("adodb.recordset")Sql="Select SortID From [Cuz_"&Cuz&"Sort] where ParentID="&fSortID&" order b

求解答-求数据库高手两个SQL语句 多少说两句给个思路也行啊 谢谢

问题描述 求数据库高手两个SQL语句 多少说两句给个思路也行啊 谢谢 点击搜索显示列表项SQL语句怎么写 insert语句又该怎么写 解决方案 一些求数据库对象的SQL语句 解决方案二: 这是要查多个表的内容,所以在使用连接查询