SQLserver使用的话,需要购买数据库,以及访问许可CLA。
1、数据库管理工具(DBMS)是收费的,比如Oracle,SQL Server,SyBase。还有免费的如MySQL。
2、数据库占用提供商的空间可能也是要收费的,这根据占用空间的大小。
扩展资料:
收费标准
1、Enterprise 版
全面的任务关键型性能,可满足苛刻的数据库和商业智能要求。为第 1 层工作负载提供最高的服务和性能水平。
开放的无级别价格(美元):$14,256
2、Standard 版 - 每内核
适合非关键工作负载的核心数据管理和商业智能功能,IT 资源极少。
开放的无级别价格(美元):$3,717
3、Standard 版 - 服务器 + CAL
适合非关键工作负载的核心数据管理和商业智能功能,IT 资源极少。
开放的无级别价格(美元):$931
4、Developer 版
SQL Server 软件的全功能版本,允许开发人员经济高效地构建、测试和演示基于 SQL Server 软件的应用程序。
开放的无级别价格(美元):免费
参考资料来源:Microsoft官网-SQL Server 定价
转:
1 MySQL支持enum和set类型,SQL Server不支持;
2 MySQL不支持nchar、nvarchar、ntext类型;
3 MySQL数据库的递增语句是AUTO_INCREMENT,而MS SQL是identity(1,1);
4 MS SQL默认到处表创建语句的默认值表示是((0)),而在MySQL里面是不允许带两括号的;
5 MySQL需要为表指定存储类型;
6 MS SQL识别符是[],[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边的那个符号;
7 MS SQL支持getdate()方法获取当前时间日期,但是MySQL里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数;
8 MS SQL不支持replace into语句,但是在最新的SQL Server 2008里面,也支持merge语法;
9 MySQL数据库支持insert into table1 set t1 = ‘’, t2 = ‘’ ,但是MS SQL不支持这样写;
10 MySQL支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 MS SQL不支持limit语句,是非常遗憾的,只能用top 取代limt 0,N,row_number() over()函数取代limit N,M;
12 MySQL在创建表时要为每个表指定一个存储引擎类型,而MS SQL只支持一种存储引擎;
13 MySQL不支持默认值为当前时间的datetime类型(MS SQL很容易做到),在MySQL里面是用timestamp类型;
14 MS SQL里面检查是否有这个表再删除,需要这样:
if exists (select from dbosysobjects where id = object_id(N'uc_newpm') and OBJECTPROPERTY(id,N'IsUserTable')=1)
但是在MySQL里面只需要 DROP TABLE IF EXISTS cdb_forums;
15 MySQL支持无符号型的整数,那么比不支持无符号型的MS SQL就能多出一倍的最大数存储;
16 MySQL不支持在MS SQL里面使用非常方便的varchar(max)类型,这个类型在MS SQL里面既可做一般数据存储,也可以做blob数据存储;
17 MySQL数据库创建非聚集索引只需要在创建表的时候指定为key就行,比如:KEY displayorder (fid,displayorder)
在MS SQL里面必须要:
create unique nonclustered index index_uc_protectedmembers_username_appid on dbouc_protectedmembers(username asc,appid asc)
18 MySQL text字段类型不允许有默认值;
19 MySQL的一个表的总共字段长度不超过65XXX。
20 一个很表面的区别就是MySQL的安装特别简单,而且文件大小才110M(非安装版),相比微软这个庞然大物,安装进度来说简直就是
21 MySQL的管理工具有几个比较好的,MySQL_front和官方那个套件,不过都没有SSMS的使用方便,这是MySQL很大的一个缺点。
22 MySQL的存储过程只是出现在最新的版本中,稳定性和性能可能不如MS SQL。
23 同样的负载压力,MySQL要消耗更少的CPU和内存,MS SQL的确是很耗资源;
24 php连接MySQL数据库和MS SQL的方式都差不多,只需要将函数的MySQL替换成MS SQL即可。
25 MySQL支持 date,time,year类型,MS SQL到2008才支持date和time。
一、开放性
1SQLServer
只能在windows上运行,没有丝毫的开放性, *** 作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NTserver只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。
2Oracle
能在所有主流平台上运行(包括windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
3SybaseASE
能在所有主流平台上运行(包括windows)。但由于早期Sybase与OS集成度不高,因此VERSION1192以下版本需要较多OS和DB级补丁。在多平台的混合环境中,会有一定问题。
4DB2
能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。
二、可伸缩性,并行性
1SQLserver
并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
2Oracle
并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
3SybaseASE
虽然有DBSWITCH来支持其并行服务器,但DBSWITCH在技术层面还未成熟,且只支持版本125以上的ASESERVER。DBSWITCH技术需要一台服务器充当SWITCH,从而在硬件上带来一些麻烦。
4DB2
具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点安全性。
三、安全认证
1SQLserver
没有获得任何安全证书。
2OracleServer
获得最高认证级别的ISO标准认证。
3SybaseASE
获得最高认证级别的ISO标准认证。
4DB2
获得最高认证级别的ISO标准认证。
四、性能
1SQLServer
多用户时性能不佳
2Oracle
性能最高,保持开放平台下的TPC-D和TPC-C的世界记录。
3SybaseASE
性能接近于SQLServer,但在UNIX平台下的并发性要优与SQLServer。
4DB2
性能较高适用于数据仓库和在线事物处理。
五、客户端支持及应用模式
1SQLServer
C/S结构,只支持windows客户,可以用ADO、DAO、OLEDB、ODBC连接。
2Oracle
多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。
3SybaseASE
C/S结构,可以用ODBC、Jconnect、Ct-library等网络客户连接。
4DB2
跨平台,多层结构,支持ODBC、JDBC等客户。
六、 *** 作简便
1SQLServer
*** 作简单,但只有图形界面。
2Oracle
较复杂,同时提供GUI和命令行,在windowsNT和unix下 *** 作相同。
3SybaseASE
较复杂,同时提供GUI和命令行。但GUI较差,常常无法及时状态,建议使用命令行。
4DB2
*** 作简单,同时提供GUI和命令行,在windowsNT和unix下 *** 作相同。
七、使用风险
1SQLserver
完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容。
2Oracle
长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。
3SybaseASE
向下兼容,但是ct-library程序不益移植。
4DB2
在巨型企业得到广泛的应用,向下兼容性好。风险小。
内存数据库有现成的redis,高效存取键值对,键设为你的查询条件,值设为你的查询结果转为字符串
查询时先从redis取,没有再查数据库,并且设置redis的过期时间,这种方式需要项目对实时性要求不高,这样你才能用缓存,而且如果你的项目没有明显的热点,即没有某些内容确定会多次被查到,那你缓存就不会命中,添加缓存反而影响你得速度
redis是一种nosql的内存数据库,感兴趣你可以了解一下,优点就是性能强劲
数据查询请求多就把结果缓存下来,你查数据库再快也没有直接把结果从内存读出来快
同样的sql请求只有第一次查数据库,之后通通读内存
或者你干脆借助这种思想,创建一个全局的map对象,然后查询条件作key
结果作value,就省去了了解redis的过程,把整个数据库装内存不太科学,你有多少条数据啊
下面是一些常用的SQL语句,虽然很基础,可是却很值得收藏,对于初学者非常实用
SQL常用命令使用方法:(1) 数据记录筛选:
sql="select from 数据表 where 字段名=字段值 order by 字段名 [desc]"
sql="select from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
sql="select top 10 from 数据表 where 字段名 order by 字段名 [desc]"
sql="select from 数据表 where 字段名 in ('值1','值2','值3')"
sql="select from 数据表 where 字段名 between 值1 and 值2"
(2) 更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
sql="insert into 目标数据表 select from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=connexcute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
(5) 数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
4 记录集对象的方法:
rsmovenext 将记录指针从当前的位置向下移一行
rsmoveprevious 将记录指针从当前的位置向上移一行
rsmovefirst 将记录指针移到数据表第一行
rsmovelast 将记录指针移到数据表最后一行
rsabsoluteposition=N 将记录指针移到数据表第N行
rsabsolutepage=N 将记录指针移到第N页的第一行
rspagesize=N 设置每页为N条记录
rspagecount 根据 pagesize 的设置返回总页数
rsrecordcount 返回记录总数
rsbof 返回记录指针是否超出数据表首端,true表示是,false为否
rseof 返回记录指针是否超出数据表末端,true表示是,false为否
rsdelete 删除当前记录,但记录指针不会向下移动
rsaddnew 添加记录到数据表末端
rsupdate 更新数据表记录
参考资料
SQL常用命令csdn[引用时间2017-12-30]
以上就是关于sql server数据库要钱的吗全部的内容,包括:sql server数据库要钱的吗、sql2008数据库和mysql数据库哪个好、如何为公司选择一个SQL数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)