`

数据库设计注意要点

阅读更多

        在一个项目开始初期,数据库的设计非常重要,很多时候,我们只关心和考虑到眼前的功能,而忽略了后续的可维护性和可拓展性,以及还有一个在大数据时代会遇到的高并发问题。
  在设计表结构时要注意以下几个要点:
  1.数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率。
  2.能够用数字类型的字段尽量选择数字类型而不用字符串类型的(电话号码),这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
  3.对于不可变字符类型char和可变字符类型varchar 都是8000字节,char查询快,但是耗存储空间,varchar查询相对慢一些但是节省存储空间。在设计字段的时候可以灵活选择,例如用户名、密码等长度变化不大的字段可以选择CHAR,对于评论等长度变化大的字段可以选择VARCHAR。
  4.字段的长度在最大限度的满足可能的需要的前提下,应该尽可能的设得短一些,这样可以提高查询的效率,而且在建立索引的时候也可以减少资源的消耗。
  查询语句优化要点:
  1.尽可能使用索引
  2.查询有先后顺序,注意把快速条件或者索引查询放在前面
  3.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:

select id from t where num=10 or num=20

  可以这样查询:

select id from t where num=10
union all
select id from t where num=20

  4.要避免在where中使用表达式,这样将放弃索引,进行全表查询

 

资料来源:http://tomcat-oracle.iteye.com/blog/2024322

分享到:
评论

相关推荐

    大数据高并发数据库设计注意要点

     在设计表结构时要注意以下几个要点:  1.数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率。  2.能够用数字类型的字段尽量选择数字类型而...

    Oracle数据库管理员技术指南

    1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration Assistant 创建数据库 1.7 完成数据库配置 ...

    数据库实 习 报 告

    ix. 测试要点 (定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确...

    计算机资料英文版

    1.5.3 数据独立性 1.6 数据库管理系统中的查询 1.7 事务管理 1.7.1 事务的并发执行 1.7.2 未完成的事务和系统崩溃 1.7.3 注意要点 1.8 数据库管理系统的结构 1.9 与数据库打交道的人 1.10 复习题 第2章 实体联系模型...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    02-DBA参与项目数据库设计及培训开发人员高效设计MYSQL库语句.avi 03-老男孩核心思想-项目周期的制定思想.avi 04-linux进程占用cpu高的解决方案案例.avi 05-数据库账户权限控制多种思路及技巧.avi 06-数据库客户端...

    毕业设计-基于Vue+Vant+SSM图书管理系统,包含源码、数据库文件、演示视频、运行截图等

    基于Vue+Vant+SSM图书管理系统设计后端可升级Springboot 程序开发软件:Eclipse或者Idea + WebStorm 数据库:mysql api接口采用技术:Vue(前端框架) + Vant(前端轻量级ui库) + SSM框架,可以升级Springboot 基于...

    后端开发技术要点&详细案例*注意事项

    当涉及后端开发时,主要有几个关键技术和概念需要了解,包括服务器端编程语言、数据库管理系统、API 设计、安全性和性能优化等。下面我将给出一个简单的后端开发教程,以及一个相关案例和项目。 后端开发教程 1. ...

    毕业设计,基于SSM+Vue+Vant+MySql开发的前后端分离的图书管理系统,内含Java完整源代码,数据库脚本,视频教程

    毕业设计,基于SSM+Vue+Vant+MySql开发的前后端分离的图书管理系统,内含Java完整源代码,数据库脚本,视频教程 基于Vue+Vant+SSM图书管理系统设计后端可升级Springboot 程序开发软件:Eclipse或者Idea + WebStorm...

    248大神基于Vue+Vant+SSM图书管理系统设计-mysql数据库.zip

    程序开发软件:Eclipse或者Idea + WebStorm 数据库:mysql api接口采用技术:Vue(前端框架) + Vant(前端轻量级ui库) + SSM框架,可以升级Springboot 基于Vue图书管理app技术要点: 1 此系统web端接口采用java语言...

    软件工程-教材管理系统.doc

    总体设计 13 6.1总体设计HIPO技术 13 6.2系统层次图 13 6.3数据库设计 14 7. 详细设计 15 7.1模块详细设计 15 7.1.1模块定义 15 7.1.2输入项目 15 7.1.3输出项目 15 7.2程序过程设计 15 7.3测试要点 17 8.程序源码...

    SQL Server数据库查询速度慢原因及优化方法

    有关更多信息,参见设计联合数据库服务器。(参照SQL帮助文件''分区视图'') a、在实现分区视图之前,必须先水平分区表 b、 在创建成员表后,在每个成员服务器上定义一个分布式分区视图,并且每个视图具有相同的...

    实验五数据库编程:包括触发器、级联更新删除和系统函数等

    建立数据库Company并建立Employees,Department表,请设计各表,注意主码、外码。自行插入若干虚拟数据: 2)Department应包括的属性有:部门代码departmentID、部门名称 deptname、部门简介deptmemo。

    数据库编程-存储过程-触发器-级联更新-SQL-server-游标、全网最全最详细编程实战

    建立数据库Company并建立Employees,Department表,请设计各表,注意主码、外码。自行插入若干虚拟数据: 2)Department应包括的属性有:部门代码departmentID、部门名称 deptname、部门简介deptmemo。 1)Employees...

    微信高可用分布式数据库PhxSQL设计与实现

    从MySQL的容灾缺陷开始讲起,接着阐述实现高可用强一致的思路,然后具体分析每个实现环节要注意的要点和解决方案,最后展示了PhxSQL在容灾和性能上的成果。互联网应用中账号和金融类关键系统要求和强调强一致性及高...

    基于Vue+Vant+SSM图书管理系统设计 | 毕业设计

    程序开发软件:Eclipse或者Idea + WebStorm 数据库:mysql api接口采用技术:Vue(前端框架) + Vant(前端轻量级ui库) + SSM框架,可以升级Springboot 基于Vue图书管理app技术要点: 1 此系统web端接口采用java语言...

    计算机课程设计和安排.xlsx

    该内容是大二的计算课程设计和安排,包含学分和具体的上课要点。 第一学期: 数据结构与算法 计算机组成原理 离散数学 操作系统 体系结构实验 第二学期: 编译原理 数据库系统 计算机网络 软件工程 ...

    基于Vue+Vant+SSM图书管理系统设计.zip

    基于Vue+Vant+SSM图书管理系统设计.zip 程序开发软件:Eclipse或者Idea + WebStorm 数据库:mysql api接口采用技术:Vue(前端框架) + Vant(前端轻量级ui库) + SSM框架,可以升级Springboot 基于Vue图书管理...

    网络程序设计:ASP.rar

    本书在每一章前面精心设计了"本章要点",因为每一章内容都比较庞杂,但常用的内容还是比较少的,所以大家要注意本章要点,重点掌握该部分内容。 本书在每一章后面都精心设计了适量的习题,主要是针对本章重点、...

Global site tag (gtag.js) - Google Analytics