追尔教育 - View Article

数据库的设计及规范

发布时间: 2017-11-22 阅读数: 17739

数据库的三范式
第一范式:确保每个字段的原子性
name
杰克|jack
第二范式:要求每张表只描述一件事物
student_id student_name  黄金价格
第三范式:主键之外的其他字段都直接依赖主键
student   student_id student_name  teacher_number  xuexiao_
teacher teacher_id teacher_name teacher_number

但是为了提高查询的性能,我们有时候会违背范式要求的.
我们会做适量的冗余字段,提高数据库的查询性能.

数据库设计方面呢,首先呢,我们要考虑单表的极限值,
性能测试发现,mysql数据库单表记录达到50W条,查询的效率就非常低了
所以呢,我们在设计的时候,如果有可能达到极限值,我们就尽量的拆表
当oracle表当中的记录超过200w条之后,效率就很低了,可以通过
分区,分表,建立索引等来提高查询性能。索引并不是每个字段都建的,
只是对那些经常要被当作条件查询的字段,建立索引。

通常我们在开发过程当中,要特别注意sql语句的优化
1:索引并不是越多越好,索引固然可以提高相应的 select 的效率,
但同时也降低了 insert 及 update 的效率,
因为 insert 或 update 时有可能会重建索引,
所以怎样建索引需要慎重考虑,视具体情况而定。
一个表的索引数最好不要超过6个
2:在写sql语句的时候,尽量避免全表扫描,使用索引字段来查询.
减少无谓字段的查询,不使用select *
3:硬件方面,生产环境的优化,和运维还有dba有关
分享到:

我的回复:

回复前请先 登录 注册

关于我们

这是一个在线直播学习平台
你可以在这里学习你喜爱的课程

关注我们

gongzhonghao.jpg

Powered by zhuir   沪ICP备15027604号  沪公网安备:31011302004922     Copyright © 2013-2024