数据库最佳实践

1、表名、列名有效字符集:小写字母、数字、下划线,如student_course
2、表名、列名用单数而不是负数,如student,而不是students
3、表名、列名不使用不必要的前缀或后缀,如tbl_school, school_table
4、使用整数作为ID字段,也许现在没有这个必要,但是将来需要,例如关联表,索引等等
5、数据库中的密码要加密,到应用中再解密(其实就是散列存储、单向加密)
6、使用整数字段做索引,否则会带来很大的性能问题
7、使用 bit 作为布尔字段,使用整数或者varcha是浪费。同时,这类字段应该以“is”开头
8、要经过认证才能访问数据库,不要把管理员权限给每一个用户
9、尽量避免使用“select *”,而使用“select [required_column_list]”以获得更好的性能
10、假如程序代码比较复杂,使用ORM框架,例如hibernate,iBatis。ORM框架的性能问题可以通过详细的配置去解决。
11、分割不常使用的数据表到不同的物理存储以获得更好的性能。
12、对于关键数据库,使用安全备份系统,例如集群,同步等等
13、使用外键,非空等限制来保证数据的完整性,不要把所有的东西都扔给程序;但是对于互联网程序,由于应用层更方便水平扩展,所以这个环境应该减少外键的使用
14、应该有数据库设计写文档
15、对于经常使用的查询和大型数据表,要使用索引。数据分析工具可以帮助你决定如何建立索引
16、image和blob字段不应该定义在常用的数据表中,否则会影响性能
17、适当的应用范式(Normalization)。Normalization做的不够会导致数据冗余,而过度Normalization 会导致太多的join,影响性能。
18、多花点时间在数据库设计上,否则你将来会付出加倍的时间来偿还

http://www.javacodegeeks.com/2012/02/20-database-design-best-practices.html

时间: 2024-10-12 03:14:41

数据库最佳实践的相关文章

数据库最佳实践:DBA小马如何走上升值加薪之路?

DBA可能是互联网公司里面熬夜最多,背锅最多的岗位之一,腾讯云数据库团队的同学结合自身的成长经历,用漫画的形式为我们分享了一位DBA是如何从菜鸟成长为大神,走上升职加薪,迎娶白富美之路的. 此文已由作者授权腾讯云技术社区发布,转载请注明文章出处

20个数据库设计的最佳实践

数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程.下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序.一起来了解了解吧. 使用明确.统一的标明和列名,例如 School, SchoolCourse, CourceID. 数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses. 数

20个设计数据库的最佳实践指南

数据库设计看上去很简单,但是如果不经意随意设计,可能会为日后维护拓展或性能方面埋下祸根.以下是20个设计数据库的最佳实践指南: 1. 使用完整的一致的数据表名称和字段名,如:School, StudentCourse, CourseID 2.数据表名称使用单数,比如使用StudentCourse 而不是StudentCourses,数据表代表实体的一个集合,因此没有必要使用复数名称. 3. 数据表名称不要使用空格,比如StudentCourse 比Student Course更好. 4.数据表名

SQL Server系统数据库备份最佳实践

原文:SQL Server系统数据库备份最佳实践 首先了解主要的系统数据库: 系统数据库 master 包含登录信息和其他数据库的核心信息 msdb 存储作业.操作员.警报.备份还原历史.数据库邮件信息等等. model 所有新数据库的模型,如果希望新数据库都有某些对象,可以在这里创建. tempdb sql server重启时重建,所以不需要备份 除了以上四种,其实还有一个数据库:Resource 从2005就引入的,一个只读.隐藏的数据库,包含所有在sql server中的系统对象.由于SQ

[Java Performance] 数据库性能最佳实践 - JPA和读写优化

数据库性能最佳实践 当应用需要连接数据库时,那么应用的性能就可能收到数据库性能的影响.比如当数据库的I/O能力存在限制,或者因缺失了索引而导致执行的SQL语句需要对整张表进行遍历.对于这些问题,仅仅对应用代码进行优化可能是不够,还需要了解数据库的知识和特点. 示例数据库 该数据库表示了128只股票在1年内(261个工作日)的股价信息. 其中有两张表:STOCKPRICE和STOCKOPTIONPRICE. STOCKPRICE中使用股票代码作为主键,另外还有日期字段.它有33408条记录(128

最佳实践 · 实例级别数据库上云RDS SQL Server

摘要: 摘要 到目前,我们完成了SQL Server备份还原专题系列八篇月报分享:三种常见的数据库备份.备份策略的制定.查找备份链.数据库的三种恢复模式与备份之间的关系.利用文件组实现冷热数据隔离备份方案.如何监控备份还原进度.阿里云RDS SQL自动化迁移上云的一种解决方案以及上个月分享的RDS SDK实现数据库迁移上阿里云,本期我们分享如何将用户线下或者ECS上自建实例级别数据库一键迁移上阿里云RDS SQL Server. 摘要到目前,我们完成了SQL Server备份还原专题系列八篇月报

MySQL面试必考知识点:揭秘亿级高并发数据库调优与最佳实践法则

做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 今天我们用10分钟,重点梳理一遍以下几方面: 数据库知识点汇总: 数据库事务特性和隔离级别: 详解关系型数据库.索引与锁机制: 数据库调优与最佳实践: 面试考察点及加分项. 知识点汇总 一.数据库的不同类型 1.常用的关系型数据库 Oracle:功能强大,主要缺点就是贵 MySQL:互联网行业中最流行的数据库,这不仅

[转]10分钟梳理MySQL知识点:揭秘亿级高并发数据库调优与最佳实践法则

转:https://mp.weixin.qq.com/s/RYIiHAHHStIMftQT6lQSgA 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 今天我们用10分钟,重点梳理一遍以下几方面: 数据库知识点汇总: 数据库事务特性和隔离级别: 详解关系型数据库.索引与锁机制: 数据库调优与最佳实践: 面试考察点及加分项. 一.数据库的不同类型 1.常用的关系型数

Oracle数据库测试和优化最佳实践: OTest介绍 (转)

当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王文杰在业余时间开发,并提供支持.发送邮件到[email protected]可以获得支持和最新版本,以及申请cloud版本的key. *Otest 的临时下载地址(版本更新快,新项目上线,最好发邮件申请): 链接:http://pan.baidu.com/s/1eSD1oSq 密码:3ulm