搜索
首页数据库mysql教程SQL Server数据库开发中的十大问题(4)_MySQL

bitsCN.com

    的ISO标准出现的,在1999年的标准上稍加修改。此外,微软还进行了各种私有的加强。

 

标准SQL和T-SQL之间有很多区别――太多了,这里就不说了。还有,如果你在 SQL Server上工作,那么使用这些私有的扩展是有好处的。由于许多SQL Server的特性的本质,你不使用非标准的命令的话,将会有很多强大的功能无法实现。如果你想要看看你的SQL是否符合标准,你可以使用SET FIPS_FLAGGER命令。

 

SQL Server 2005中的索引类别

 

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)

 

 

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

 

我想要这样查看:

        /* @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

 

bitsCN.com
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL字符串类型:存储,性能和最佳实践MySQL字符串类型:存储,性能和最佳实践May 10, 2025 am 12:02 AM

mySqlStringTypesimpactStorageAndPerformanCeaseAsfollows:1)长度,始终使用theSamestoragespace,whatcanbefasterbutlessspace-felfficity.2)varCharisvariable varcharisvariable length,morespace-morespace-morespace-effficitybuteftife buteftife butfority butfority textifforlyslower.3)

了解MySQL字符串类型:VARCHAR,文本,char等了解MySQL字符串类型:VARCHAR,文本,char等May 10, 2025 am 12:02 AM

mySqlStringTypesIncludeVarChar,文本,char,enum和set.1)varCharisVersAtileForvariable-lengthStringStringSuptOptoPeptoPepecifientlimit.2)textisidealforlargetStortStorStoverStorextorewiteWithoutAdefinedLengthl.3)charlisfixed-Length

MySQL中的字符串数据类型是什么?MySQL中的字符串数据类型是什么?May 10, 2025 am 12:01 AM

MySQLoffersvariousstringdatatypes:1)CHARforfixed-lengthstrings,2)VARCHARforvariable-lengthtext,3)BINARYandVARBINARYforbinarydata,4)BLOBandTEXTforlargedata,and5)ENUMandSETforcontrolledinput.Eachtypehasspecificusesandperformancecharacteristics,sochoose

如何向新的MySQL用户授予权限如何向新的MySQL用户授予权限May 09, 2025 am 12:16 AM

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

如何在MySQL中添加用户:逐步指南如何在MySQL中添加用户:逐步指南May 09, 2025 am 12:14 AM

toadduserInmysqleffectection andsecrely,theTheSepsps:1)USEtheCreateuserStattoDaneWuser,指定thehostandastrongpassword.2)GrantNectalRevileSaryPrivilegesSustate,usiveleanttatement,AdheringTotheTeprinciplelastPrevilegege.3)

mysql:添加具有复杂权限的新用户mysql:添加具有复杂权限的新用户May 09, 2025 am 12:09 AM

toaddanewuserwithcomplexpermissionsinmysql,loldtheSesteps:1)创建eTheEserWithCreateuser'newuser'newuser'@''localhost'Indedify'pa ssword';。2)GrantreadAccesstoalltablesin'mydatabase'withGrantSelectOnMyDatabase.to'newuser'@'localhost';。3)GrantWriteAccessto'

mysql:字符串数据类型和coltrationsmysql:字符串数据类型和coltrationsMay 09, 2025 am 12:08 AM

MySQL中的字符串数据类型包括CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT,排序规则(Collations)决定了字符串的比较和排序方式。1.CHAR适合固定长度字符串,VARCHAR适合可变长度字符串。2.BINARY和VARBINARY用于二进制数据,BLOB和TEXT用于大对象数据。3.排序规则如utf8mb4_unicode_ci忽略大小写,适合用户名;utf8mb4_bin区分大小写,适合需要精确比较的字段。

MySQL:我应该在Varchars上使用什么长度?MySQL:我应该在Varchars上使用什么长度?May 09, 2025 am 12:06 AM

最佳的MySQLVARCHAR列长度选择应基于数据分析、考虑未来增长、评估性能影响及字符集需求。1)分析数据以确定典型长度;2)预留未来扩展空间;3)注意大长度对性能的影响;4)考虑字符集对存储的影响。通过这些步骤,可以优化数据库的效率和扩展性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器