mysql设计规范[重点]

mysql设计规范[重点]

ID:43325224

大小:127.84 KB

页数:8页

时间:2019-09-30

mysql设计规范[重点]_第1页
mysql设计规范[重点]_第2页
mysql设计规范[重点]_第3页
mysql设计规范[重点]_第4页
mysql设计规范[重点]_第5页
资源描述:

《mysql设计规范[重点]》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MySQL设计规范MYSQL设计规范11.数据库设计11.1.字段11.1.1.表和字段命名71.1.2.字段结构.212SQL语句31.3.性能与效率31.3.1.定长与变长表31.3.2.运算与检索41.3.3.结构优化与索引优化41.3.4.査询优化51.3.5.兼容性问题和效率查询语句61.3.6.分享一些SQL语句.71.数据库设计1/1.字段1.1.1.表和字段命名MySQL常见的表类型介绍:A:MyISAM数据表又分为MylSAMSmtic(静态MylSAM)、MylSAMDynamic(动态MylSAM)、MyISAMCompressed(压缩MylSAM)。B:

2、InnoDB占用空间大,但是支持事务处理。C:HELP表类型是放在内存中的速度很快。所有数据表名称,只要其名称是可数名词,则必须以复数方式命名,例如:oms_members(用户表)、oms_serverlist(主机表);存储多项内容的了段,或代表数量的字段,也应当以复数方式命名,例如:params(parameters,自定义代码的参数个数)。当儿个表间的字段有关连时,要注意表与表之间关联字段命名的统一,如omsgroup表中的id与groupcorr表屮的id。(举例)代表id自增量的字段,通常川以下几种形式:•最常用的核心id,或经常在URL中进行调用的,尽量用简写的形式

3、,例如tid、pid、uid;•有功能性作用,URL中偶尔用到的id,使用全称的形式,例如pluginid;•没有功能性作用,只为管理和维护方便而设的id,可以使用全称的形式,也可只将其命名为id。1.1.2.字段结构允许NULL值的字段,数据库在进行比较操作时,会先判断具是否为NULL,非NULL时才进行值的比对。因此基于效率的考虑,所有字段均不能为空,即全部NOTNULL;预计不会存储非负数的字段,例如各项id、数量等,必须设迸为UNSIGNED类型。UNSIGNED类型比非UNSIGNED类型所能存储的止整数范围大一倍,因此能获得更大的数值存储空间;存储开关、选项数据的字段

4、,通常使用tinyint(1)非UNSIGNED类型,少数情况也可能使用enum()结果集的方式。tinyint作为开关字段时,通常'1为打开;0为关闭;-1为特殊数据,例如N/A(不可用);高于1的为特殊结果或开关二进制数纟fl合;任何类型的数据表,字段空间应当本着足够用,不浪费的原则,数他类型的字段取值范围见卜•表:字段类型存储空间(b)UNSIGNED取值范围tinyint1否-128-127是0-255smallint2否-32768-32767是0-65535mediumint3否-8388608-8388607是0-16777215Int4否-2147483648-2

5、147483647是0-4294967295bigint8否-9223372036854775808-9223372036854775807是0-184467440737095516151.2.SQL语句所有SQL语句屮,除了表名、字段名称以外,全部语句和函数均需人写,应当杜绝小写方式或人小◎混杂的q法。例如select*frommembers;是不符合规范的丐法。很长的SQL语句应当有适当的断行,依据JOIN、FROM、ORDERBY等关键字进行界定。通常情况卜S在对多表进行操作时,要根据不同表名称,对每个表指定一个1~2个字母的缩写,以利于语句简洁和可读性。如下的语句范例,是

6、符合规范的:$query=$db->query("SELECTs.*,m.*FROM{$tablepre}sessionss,{$tablepre}membersmWHEREm.uid=s.uidANDs.sid=*$sid');1.3.性能与效率1.3.1.定长与变长表包含任何varchar、text等变长宁段的数据表,即为变长表,反Z则为定长表。•对于变长表,由于记录大小不同,在其上进行许多删除和更改将会使表中的碎片更多。需要定期运OPTIMIZETABLE以保持性能。而定长表就没有这个问题;•如果表屮有可变长的字段,将它们转换为定长字段能够改进性能,因为定长记录易于处理。但

7、在试图这样做之前,应该考虑下列问题:•使用定长列涉及某种折衷。它们更快,但山用的空间更多ochar(n)类型列的每个值总要占川n个字节(即使空串也是如此),因为在表中存储时,值的长度不够将在右边补空格;•而varchar(n)类型的列所占空间较少,因为只给它们分配存储每个值所需要的空间,每个值再加一个字节用于记录其长度。因此如果在char和varchar类型之间进行选择,需要对时间与空间作出折衷;•变长表到定长表的转换,不能只转换一个町变长字段,必须对它们全部进行转换。而R必须使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。