温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL数据库设计时如何优化

发布时间:2022-01-14 16:00:03 来源:亿速云 阅读:109 作者:小新 栏目:数据库

小编给大家分享一下MySQL数据库设计时如何优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

  1、命名的技巧与规范

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

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

  例如:insertintousers(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数据库设计时如何优化”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI