首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一高效率SQL语句

2012-10-16 
求一高效SQL语句?我的数据库是这样设计的idtypenameparentid01151811010101030103李明011518110101010301i

求一高效SQL语句?
我的数据库是这样设计的  
id typename parentid
01151811010101030103 李明 011518110101010301

id和pid 现在采用VerChar类型  
id 是子类id parentid 是父类ID 
通过父类可以查看到所有的子类

每二个数字是一级 最多有10级 也就是20位字符 这样的循环绑定 数据量大约在1W条



web页面用TreeView显示

数据处理用

C# code
void BindData()    {        DataSet ds = new XJBLL.xjBookType().GetList("");        TreeView1.Nodes.Clear();        TreeNode node = new TreeNode();        node.Value = ds.Tables[0].Rows[0]["ID"].ToString();        node.Text = ds.Tables[0].Rows[0]["TypeName"].ToString();        node.Expand();        TreeView1.Nodes.Add(node);        BindChild(node, node.Value);    }    void BindChild(TreeNode node, string ParentID)    {        DataSet ds = new XJBLL.xjBookType().GetList(" and ParentID='" + ParentID + "' ");        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)        {            TreeNode childnode = new TreeNode();            childnode.Value = ds.Tables[0].Rows[i]["ID"].ToString();            childnode.Text = ds.Tables[0].Rows[i]["TypeName"].ToString();            node.ChildNodes.Add(childnode);            BindChild(childnode, childnode.Value);        }    }  


现在打开这个页面 大概在30秒后显示 出内容且SQL数据库占用很高的CPU 请求有没有别的办法 提高数据处理的速度 谢谢了

[解决办法]
第一,这个应该不是更新很频繁的数据,你完全可以用cache来缓存一下数据
第二,你一下全读出来当然会很慢,建议你当节点展开的情况下去读节点下面的数据,这样一次读数据的条数就会减少,速度就会快一些

热点排行