数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

MySQL:数据库领域的中间派!


发布日期:2022年04月16日
 
MySQL:数据库领域的中间派!
MySQL是一个广受Linux社区人们喜爱的半商业的数据库 MySQL是可运行在大多数的Linux平台(iSparcetc)以及少许非Linux甚至非Unix平台

许可费用

MySQL的普及很大程度上源于它的宽松除了略显不寻常的许可费用MySQL的价格随平台和安装方式变化MySQL的Windows版本(NT和 X)在任何情况下都不免费而任何Unix变种(包括Linux)的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的第三方案庄则必 须付许可费

价格

平台安装方式价格Windows NTX任何美元Unix或Linux自行安装免费Unix或Linux第三方安装美元

需要一个应用组件 美元

可以得到多种支持合同内容太多不再罗列最新报价可咨询MySQL站点

安装

可以在MySQL站点上获得大多数主要的软件包格式(RPMDBETGZ)客户端库和各种语言包装(Wrapper)可以分开的RPM格式获 得RPM格式的安装没有多大麻烦并且无需初始配置在rcd(以RedHat RPM为例)生成一个初始脚本故MySQL守护进程在多用户模式下重启时被启动运行MySQL的守护进程(mysqld)消耗很少的内存(在运行RedHat 的奔腾每个守护进程使用K内存和另外M共享内存的开销)并在只有在执行真正的查询时才装载到处理器上这意味着对小型数据库来说MySQL可以相当轻松地使用而不会对其他系统功能有太大的影响

数据类型

字段支持大量数据类型是件好事通常的整数浮点数字符串和数字均以多种长度表示并支持变长的BLOB(Binary Large OBject)类型对整数字段由自动增量选项日期时间字段也能很好的表示

MySQL与大多数其他数据库系统不同的是提供两个相对不常用的字段类型ENUM和SETENUM是一个枚举类型非常类适于Pascal语言的枚 举类型它允许程序员看到类似于redgreenblue的字段值而MySQL只将这些值存储为一个字节SET也是从Pascal借用 的它也是一个枚举类型但一个单独字段一次可存储多个值这种存储多个枚举值的能力也许不会给你一些印象(并可能威胁第三范式定义)但正确使用SET 和CONTAINS关键字可以省去很多表连接能获得很好的性能提高

SQL兼容性

MySQL包 含一些与SQL标准不同的转变他们的大多数被设计成是对SQL语言脚本语言的不足的一种补偿然而另一些扩展确实使 MySQL与众不同例如LINK子句搜索是自动地忽略大小写的MySQL 也允许用户自定义的SQL函数换句话说一个程序员可以编写一个函数然后集成到MySQL中并且其表现的与任何基本函数如SUM()或AVG 没有什么不同函数必须被编译道一个共享库文件中(so文件)然后用一个LOAD FUNCTION命令装载

它也缺乏一些常用的 SQL功能没有子选择(在查询中的查询)视图(View)也没了当然大多数子查询可以用简单的连接(join)子句重写但有时用两个嵌套的查询思 考问题比一个大连接容易同样视图仅仅为程序员隐蔽where子句但这正是程序员们期望的另一种便利

存储过程和触发器

MySQL没有一种存储过程(Stored Procedure)语言这是对习惯于企业级数据库的程序员的最大限制多语句SQL命令必须通过客户方代码来协调这种情形是借助于相当健全的查询语言和赋予客户端锁定和解锁表的能力这样才允许的多语句运行

上一篇:浅析对MYSQL进行压力测试的过程

下一篇:SQL Server 2012迎战大数据