MySQL数据库设计时如何优化

网友投稿 382 2023-11-30

MySQL数据库设计时如何优化

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

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何找到MySQL的优点
下一篇:mysql5.6.4如何支持nosql的
相关文章

 发表评论

暂时没有评论,来抢沙发吧~