首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视 ┆淘宝手机在线充值 ┆淘宝游戏点卡充值 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>数据库>SQL数据库>SQL数据库开发中常见的问题问与答
SQL数据库开发中常见的问题问与答
来源: 发布时间:2008-07-22 发布人: 浏览: 人次   字体: [ ]  

  SQL Server 2005中是否有新的索引类别了?

  回答:

  SQL Server 2005没有为关系表引入新的索引类型。基本上——聚簇和非聚簇索引是以B-trees的方式实现的——还仍然在应用。然而,SQL Server 2005确实包含了一些索引上的加强,不论是完全文本索引,还是对于XML数据,此外这些加强还可以改善一些与关系型索引有关的问题。

  SQL Server 2005的完全文本索引特性是全新的,并且是重新编写的。要获得这个特性的信息,请阅读Nimish Khanolkar的MSDN广播文档,介绍SQL Server 2005中的全文本查找。

  XML是SQL Server 2005中另外一个在方式上发生了巨大转变的内容。现在对于开发人员来说有第一流的XML数据类型可用了。这个类型支持XQuery查询语言,使用了这个类型的字段可以通过特殊格式的XML索引被索引到。要了解更多有关XML类型的信息,请查找MSDN 上的文章。

  还有各种各样的有关T-SQL索引命令的加强。也许最令人感兴趣的就是新的“在线”索引类型,它允许数据库管理员在不需要把用户锁到表外面的情况下执行索引维护任务。这个很有可能标记着数据库管理员需要等到夜里3点才能打开维护窗口修正问题的状况的终结!要了解更多有关这个特性的信息,请查找SQL Server Worldwide Users Group 上的文章。

  为行选择创建一个脚本

  想象一下这个表:

  prod_key item_key pack_key last_sale LM001 1029 AD100 2004/12/05 LM870 1029 AD100 2005/09/20 PE789 1030 BC400 2003/07/12 PE312 1030 BC400 2004/08/07

  我想要选出哪些在item_key 和pack_key相等的情况下,日期比较大的那一行。换句话说,我想要: LM870 1029 AD100 2005/09/20 PE312 1030 BC400 2004/08/07

  回答:

  这个表有主键吗?那样的话查询可能会容易些。不管怎么样,我觉得你应该按照下面这样:

SELECT prod_key,item_key,pack_key,last_sale FROM (SELECT item_key,pack_key,MAX(last_sale) AS last_sale FROM tablex GROUP BY item_key,pack_key) AS MaxDateTable WHERE tablex.item_key = MaxDateTable.item_key AND tablex.pack_key = MaxDateTable.pack_key AND tablex.last_sale = MaxDateTable.last_sale

  列出没有记录的数据库表

  我创建了一个动态的SQL Server查询来输出表中行的数量。我的目标是列出在数据库中没有记录的表。查询如下所示: declare @strsql varchar(100) declare @tablename varchar(50) @tablename=’table123′@strsql=’ select count(*) from ‘ + @tablename exec(@strsql)

  我得到了输出,但是我无法把这个值存储到变量中以备查看。

  B<>我想要这样查看:

  /* @countvariable=0

  print(@tablename)*/

  还有其它的解决方法吗?

  回答:

  你可以让你的解决方案更加灵活一些,通过从sysobjects表中抓取表名:

declare @strsql varchar(256) create table #emptytables (tablename varchar(128), table_rowcount int)select @strsql=’select distinct o.name as TableName, .rowcnt as Table_RowCount from sysobjects o inner join sysindexes x on o.id = x.id where x.rowcnt = 0 and o.type = ‘’U”’insert #emptytables (TableName, Table_rowcount) exec (@strsql) select * from #emptytables drop table #emptytables


共3页: 上一页 [1] [2] 3 下一页
相 关 文 章   发布商链接
·SQL2000查询语句如何区分大小写字母...
·SQL数据库实现用SQL语句根据身份证号...
·举例讲解SQLServer数据库连接查询的...
·如何通过DATEPART函数获取日期和时间...
·利用数据库的存储过程删除表的列
·认识SQLServer中的BIT类型是如何存储...
·图解SQL2008安装向导的使用
·小解sqlServer中临时表及表变量的使...
·sql数据库开发各ISNULL函数的语法及...
·讲解在n个字段中选取某一个非空值的...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·SQL数据库实现用SQL语句根据...
·SqlServer 2005 Express的配...
·sql排序规则的简介及其修改操
·如何用sql语句为字段添加和去
·sqlserver数据库日志文件压缩
·sql语句获得数据库某表字段的
·ISNUMERIC函数介绍及其要注意
·SQLServer2005导入xml文件实...
·SQL Server2005中删除表中重...
·如何手工启动SQLServer的全文
·sql删除数据库中的所有表语句
·SqlServr利用触发器来控制某...
·SQLServer常用日期格式转换方
·用sql实现查询重复记录的代码
·SQLServer2005分解导入xml文...
热 门 文 章
·图解SQL2008安装向导的使用
·实现Excel数据导入到SQL2005...
·SQLServer常用日期格式转换方...
·MS sql安装时“无法在COM+目...
·sql语句联合删除多个表技巧
·sql删除数据库中的所有表语句
·Sql Server端口连接的问题
·如何在SQL Server中得到自动...
·sql排序规则的简介及其修改操...
·SQL Server2005中删除表中重...
·分析SQL2005最新高效分页方法
·小解sqlServer中临时表及表变...
·用sql实现查询重复记录的代码
·MS SQL2005无法远程连接问题...
·如何修改sqlserver数据库名称
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .