- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库规则
文件状态:
[√] 初稿
[ ] 正式公布
[ ] 正在修改
文件标识:
目前版本:
V1.0
作 者:
完成日期:
历 史 记 录
版本/状态
作者
参与者
起止日期
备注
V1.0
1、数据库规则
1、尽可能不要使用 %XXX% 查询,采取 XXX%查询。
2、尽可能不要使用函数查询,查询过程中尽可能不要使用函数处理数据。
3、索引建立标准:要建立常常使用字段上,建立在不会常常变动字段上。
需要时候建立组合索引
4、数据量大表按必需加时间段查询,且时间段不要超出一年。
5、不需要用子查询时候,尽可能不要使用子查询。
2、常见SQL语句编写规范
目标:
经过该规范,统一各个项目工程SQL语句设计编写
规范:
1、SQL关键字使用大写,一个关键字一行,每个关键字右对齐;
2、计算符(如:+,-,=,=,=)需要前后加空格;
3、包含多个表查询时,必需在SELECT列字段前加表名或表别名;
4、WHERE子句书写时,每个条件占一行,语句另起一行时,以保留字或连接符开始,连接符右对齐。
5、当语句同一部分要延续到下一行时,按下列格式排列:
SELECT col1,col2,col3,col4,col5,col6,col7,
col8,col9,col10
1)CREATE 语句
CREATE TABLE 表名
(
列名称1 数据类型 ,
列名称2 数据类型 ,
列名称3 数据类型 ,
. . .
)
2)SELECT 语句
SELECT 选择列列表
[ INTO 新表名 ]
FROM 要选择表名
[ WHERE 搜索条件]
[ GROUP BY 分组条件]
[ HAVING 搜索条件]
[ ORDER BY 排序规则 [ ASC | DESC ] ]
3)INSERT 语句
INSERT INTO 要插入表名
(列1,列2,...,列n-1,列n)
VALUES ( 列1值,列2值,...,列n-1值,列n值)
4)UPDATE 语句
UPDATE 要更新表名
SET 要更新列 = 列值
5)DELETE 语句
DELETE FROM 要删除字段表名
WHERE 要删除列 = 列值
6、尽可能不用Select *
用select * 时更多消耗CPU、内存、IO、网络带宽
7、改写OR为IN()
OR效率 O(n)
IN效率 O(Log n)
注意控制in个数,提议n小于200
例:select * from opp where phone =or phone 改成: select * from opp where phone in
8、能够使用between就不要使用in
In会使系统无法索引,只能直接使用表中数据
SELECT * FROM T1 WHERE ID IN (10,11,12,13,14)
改成:
SELECT * FROM T1 WHERE ID BETWEEN 10 AND 14
能用UNION ALL就不要用UNION
UNION ALL 不实施Select distinct函数,这么就会降低很多无须要资源
9、该写OR为UNION
不一样字段,将or改为union
例:select * from opp where phone = or cellphone =
改成:select * from opp where phone=
Union
Select * from opp where cellphone =
10、避免负向查询
Not 、!=、 、!、!,not in,not like等
11、避免%前缀模糊查询
例:select * from post where title like %北京%
改成:select * from post where title like 北京%
12、count(*)资源开销大,尽可能少用
尽可能使用“=”,不要使用“”。
3、数据库命名规范
目标:
为了确保企业编写出程序符合相同规范,确保数据库命名风格一致性、统一性和标准化,特建立此规范——《数据库命名规范》。
示例:
以自动化办公(OA)模块为例,主键表:OA_Meeting,MeetingID为主键,外键表:OA_MeetingA
文档评论(0)