博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库初探(二)
阅读量:7183 次
发布时间:2019-06-29

本文共 1063 字,大约阅读时间需要 3 分钟。

hot3.png

两年多以后,还是会想起曾经的那个问题。范式的本质是什么?到现在我也只能弱弱的写上自己浅薄的理解,本质大概应该就是为了更加规范。设计数据库时会遵循不同的设计规范,进而设计出更加合理的关系型数据库,这些规范就是范式。

(前言:有关函数依赖以及码、主码、外码的相关知识可自行查找)

范式简介:

第一范式(1NF):每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式。

第二范式(2NF):若R属于1NF,且每一个非主属性完全函数依赖于码,则R属于2NF。

第三范式(3NF):在1NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)。

巴斯-科德范式(BCNF):在1NF基础上,任何非主属性不能对主键子集依赖(在3NF基础上消除对主码子集的依赖)。

不同数据库的分页技术:

为什么需要分页技术?

在查询情况下,最经常的情况就是我们需要查询几条数据,而不是全部的查询出结果,比如最为经典的情况就是在我们写一个查询结果列表的情况,我们希望结果是分页显示,也就是查询出一段记录集。

Mysql:Mysql是最为方便的,由一个limit关键字来完成。

Oracle:Oracle数据库为我们提供了两个很重要的字段:RowId和RowNumber,来完成分页查询。

MSsql:SQL Server 2005以上可以使用ROW_BUNMER()函数实现分页。SQL server分页实现起来比较复杂,也有多种方式进行分页。具体各种分页方式的性能比较可参考:

——————————————再更新——————————————————————

关系型数据库系统的查询优化:查询优化在关系数据库系统中有着非常重要的地位。关系查询优化是影响RDBMS性能的关键因素,也是关系型数据库取得巨大成功的关键所在。查询优化的优点在于用户不必考虑如何最好的表达查询以获得较好的效率,也在于系统可以比用户程序的优化做得更好。

关系型数据库系统的查询优化就是选择一个高效执行的查询处理策略,有多种方法。按照优化的层次可分为代数优化物理优化。其中代数优化指关系代数表达式的优化,即按照一定的规则,改变代数表达式中操作的次序和组合,使查询执行更加高效;物理优化指存储路径和底层操作的选择。可基于规则、代价或语义进行选择。

查询优化经验:

1、尽量避免全表扫描

2、查询时先过滤,再关联

3、使用游标索引等技术来提高查询效率

转载于:https://my.oschina.net/u/3636678/blog/1504803

你可能感兴趣的文章
海量高性能列式数据库HiStore技术架构解析
查看>>
Linux块设备驱动之内存模拟块设备
查看>>
「技术大牛」是如何缩短事件平均解决时间的?
查看>>
新人成长:新人如何快速融入技术实力强的前端团队
查看>>
Testing Flutter apps翻译-性能分析
查看>>
手把手教你用 node 玩跳一跳
查看>>
SQL 优化
查看>>
如何在SpringBoot中集成JWT(JSON Web Token)鉴权
查看>>
Redis应用场景及常见问题
查看>>
Sass初入门
查看>>
js常见算法(一):数组去重,打乱数组,统计数组各个元素出现的次数, 字符串各个字符的出现次数,获取地址链接的各个参数...
查看>>
lua 学习总结
查看>>
spring+Kafka+springmvc Demo
查看>>
基于Docker下的MySQL主从复制
查看>>
VUE 面试总结
查看>>
React Native组件开发指南
查看>>
keep-alive:组件级缓存
查看>>
flex 布局基本要点
查看>>
TextWatcher的使用及源码解析
查看>>
linux ssh 免密登录
查看>>