关于MySQL数据库设计的几点优化措施

数据库 MySQL
本文我们简单介绍了MySQL数据库设计时的几点优化措施,包括命名的技巧与规范、优化设计的技巧以及如何保证数据库的安全性,希望能够对您有所帮助。

我们知道,一个好的数据库设计方案对于数据库的性能常常会起到事半功倍的效果。因此作为数据库设计人员,我们在设计数据库时,往往要考虑到一些措施来对数据库进行优化。本文我们就简单介绍一下MySQL数据库设计时的一些优化措施,希望能够对您有所帮助。

1、命名的技巧与规范

无论什么设计,命名都应该作为非常重要的事情来看待,表、序列、字段、索引的命名技巧可以归结如下:

(1) 序列名字跟表字段名字相同

例如:insert into users(us_id)value(us_id.nextval)

SQLServer、DB2等数据库中是没有序列的含义的。

(2) 关联表的名称应该是被关联的表用“_”连接起来组成的

例如:我们已经设计关联是多对多的表authors和表books了,那么我们的关联表便可以命名为authors_books.

(3) 关联字段名称必须相同,名称以基础表的字段名称为准

例如:authors表中有as_id、as_name字段。

(4) 字段定义的前两位是表名的缩写,第三位是下划线

例如:us_id、us_name、bk_name、bk_time.

***,保证规范,序列名称必须是唯一的,而且,一般的序列就是这个表的id字段。如果不加前缀,那么字段都叫做id就会违背惟一性原则。

第二,为了将来关联查询语句的书写方便。

(5) 常用字段采用固定定义

例如:序列:id 是否删除:delornot

(6) 索引的名字和表的名字相同

为了提高大数据量的表格的查询速度,可以采用建立适当的索引方式。如果一个表只有一个索引,建议索引的名字跟表相同,如果有多个索引,则为表名称加下划线加索引列名称。

 2、优化设计的技巧

(1) 关联字段类型尽可能定义为数字类型

例如:us_id, bk_id等类型都应该设计成数字类型。

(2) 表的序列字段必须是数字类型

原因同上。

(3) 如果一个字段需要经常更改,则采用以空间换时间的设计方法

最常见的例子是用户积分登录次数的累加,按照范式设计,在users表中建立一个字段us_scores,以后需要在用户积分改变时采用update的语句进行修改。但是知道 update语句的执行速度是很慢的,为了避免大量重复使用它,优化的设计方案是建立us_scores表,存储每次增加的积分,在查询是采用SQL语句的sum方法来计算之。

(4) 若数据库有移植的可能性,不使用存储过程及触发器

(5) 建立恰当的索引

索引的建立是加快数据库查询的基本技巧之一,通常的建议是,只有***的记录的表格才应该建立索引。

 3、如何保证数据的安全性

最安全的设计方案是,Web数据库和测试数据库分离。Web数据库权限只被管理员一个人掌握。

关于MySQL数据库设计的优化措施就介绍这么多了,希望本次的介绍能够对您有所帮助。

【编辑推荐】

  1. MySQL数据库如何恰到好处地使用索引?
  2. MySQL使用Amoeba作为Proxy时的注意事项
  3. MySQL数据库binlog记录的时间戳失序的原因
  4. PHP的MySQL库之Pdo-Mysql与Mysqli性能对比
  5. 以MySQL为例介绍数据库测试工具dbmonster的使用
责任编辑:赵鹏 来源: 火魔网
相关推荐

2011-08-23 15:16:54

OracleMySQL

2011-03-08 08:49:55

MySQL优化单机

2019-10-08 10:25:00

MySQL数据库DNS

2019-12-26 17:25:22

数据库设计技术

2013-05-21 10:06:11

数据库查询优化

2011-03-03 17:56:52

MySQL数据库优化

2019-10-08 08:46:59

mysql数据库SQL

2011-08-01 09:50:31

SQL Server数主键索引

2013-01-04 10:00:12

MySQL数据库数据库查询优化

2018-08-24 13:58:13

数据库MySQL备份

2011-08-10 16:16:28

数据库水平分割垂直分割

2017-09-26 13:35:40

Mysql数据库设计树状数据

2011-07-28 16:39:03

MySQL数据库修改MySQL密码

2011-03-09 08:53:02

MySQL优化集群

2019-04-02 10:36:17

数据库MySQL优化方法

2011-05-26 09:46:21

Oracle数据库安全

2019-01-02 11:10:40

MySQL数据库数据库设计

2011-03-04 16:09:48

数据库优化设计注意事项

2010-11-22 13:23:52

MySQL数据库优化

2011-07-06 10:49:50

MySQL优化
点赞
收藏

51CTO技术栈公众号