MYSQL网页编程之数据库查询了局的静态排序(3)
要想在MySQL与其他数据库之间进行一个面面俱到的功能设置对比,并不是一件容易的MySQL学习教程。随着新软件版本的发布或一些补丁的推出。静态|排序|数据|数据库为了不呈现这类转换毛病,我们能够实验把ShipperID转换成varchar数据范例。接纳这类办法以后,nvarchar将作为最高优先级的数据范例被前往。Listing3显现了修正后的GetSortedShippers存储历程。【Listing3:用列名字作为参数,第二次实验】
ALTERPROCGetSortedShippers
@ColNameASsysname
AS
SELECT*
FROMShippers
ORDERBY
CASE@ColName
WHENShipperID
THENCAST(ShipperIDASvarchar(11))
WHENCompanyName
THENCompanyName
WHENPhone
THENPhone
ELSENULL
END
如今,假定我们再把三个列名字中的恣意一个作为参数挪用存储历程,输入了局看起来准确。看起来就象指定的列准确地为查询输入供应了排序尺度。但这个表只要三个货主,它们的ID分离是1、2、3。
MySQL的支持者们却认为,MySQL所保留的功能都是精华,并且是你部署、MySQL学习教程配置和维护这个数据库所必不可少的一些功能。 分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。 备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。 需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。 但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。 其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?! 需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。 始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
页:
[1]