当前位置:   article > 正文

关于数据库开发的一些规范整理_谈谈在项目开发中,如何选择合适的数据类型和长度?以及是否允许空值

谈谈在项目开发中,如何选择合适的数据类型和长度?以及是否允许空值

一、        表字段设计

1.   数据类型尽量用数字型,数字型的比较比字符型的快很多。

2.  尽量不要允许NULL,可以用NOT NULL+DEFAULT代替。

3.  少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。

4.      自增字段要慎用,不利于数据迁移

二、        编码过程需要注意

1.      只返回必要的字段

不要写select *

2.      要显示的写出连接的类型

内连接就是inner join

左连接是 left join

右连接是 right join

外连接是 out join

3.      不可以把查询语句写在字段中,转换成inner join

SELECT   a.id userId,isnull(groupId,0) groupId,(select name from erp..tb_code_base where id = groupId and pId = 29)departName,

转换成

Inner join

 

 

 

4.      子查询的使用

1)     not in,not exists 需要改成 left join 来实现功能

例如

SELECT PUB_NAMEFROM PUBLISHERS  WHERE PUB_ID NOT IN(SELECT PUB_ID  FROM TITLESWHERE TYPE = BUSINESS)

需要改成

SELECT A.PUB_NAME  FROM PUBLISHERS A 

LEFT JOIN TITLES B  ON  B.TYPE = ’BUSINESS’ AND

A.PUB_ID=B. PUB_ID

WHERE B.PUB_ID IS NULL

2)  in exists 需要改成 inner join 来实现。

5.      索引的使用

1)     不要对索引使用函数

例如WHEREDATEDIFF(DAY, 日期,’2005-11-30′)=0应改为:WHERE 日期>=’2005-11-30′ AND 日期 <’2005-12-1‘

2)     不要对索引字段进行多字段连接

例如  WHERE FAME+ .+LNAME=HAIWEI.YANG

3)     连续型的数字 in 用 BETWEEN AND代替

例如 SELECT ID FROM T WHERE NUM IN(1,2,3)

使用SELECT ID FROM T WHERE  BETWEEN 1 AND 3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/999545
推荐阅读
  

闽ICP备14008679号