文档章节

数据库的设计

东风125
 东风125
发布于 02/18 11:51
字数 232
阅读 10
收藏 0

是否为NULL

数据库索引字段请不要为NULL

列的顺序(建议不是必须)

Column order had a big performance impact on some of the databases I've tuned, spanning Sql Server, Oracle, and MySQL.

  1. Primary key columns first
  2. Foreign key columns next.
  3. Frequently searched columns next
  4. Frequently updated columns later
  5. Nullable columns last.
  6. Least used nullable columns after more frequently used nullable columns

An example for difference in performance is an Index lookup. The database engine finds a row based on some conditions in the index, and gets back a row address. Now say you are looking for SomeValue, and it's in this table:

 SomeId int,
 SomeString varchar(100),
 SomeValue int

The engine has to guess where SomeValue starts, because SomeString has an unknown length. However, if you change the order to:

 SomeId int,
 SomeValue int,
 SomeString varchar(100)

Now the engine knows that SomeValue can be found 4 bytes after the start of the row. So column order can have a considerable performance impact.

© 著作权归作者所有

东风125
粉丝 6
博文 70
码字总数 12702
作品 0
朝阳
高级程序员
私信 提问
由代码生成数据库结构,保障设计正常传递到实现

我们常常使用代码生成工具来生成表结构。为什么不试试从代码来生成数据库表结构呢? 这个观点有些匪夷所思,但是熟悉Hibernate的同志应该有所体会。Hibernate有一个功能,叫做hbm2ddl,在系统...

土豆饼
2016/06/16
1K
14
软件设计是怎样炼成的(6)——打造系统的底蕴(数据库设计)(上篇)

摘要: 数据库是系统的根基,如果需求变更导致你要经常修改数据库的字段,甚至需要修改表及表关系,相信多折腾几次谁都受不了!因为数据库结构的变化,不仅仅是数据库本身的变更,实体类、数...

fireball1975
2014/02/25
0
0
数据仓库和数据库的区别(一)

数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设...

张欢19933
2016/08/21
19
0
Clay Database Modeling的网友评论

Eclipse开发环境插件:数据库设计工具。具有图形用户界面的数据模型设计工具(非开源)。还可以通过对已经存在的数据库方向工程创建数据模型。此外,还可以为你的数据库产生SQL代码(DDL) ...

JavaGG
2009/12/11
375
1
数据库建模插件--Clay Database Modeling

Eclipse开发环境插件:数据库设计工具。具有图形用户界面的数据模型设计工具(非开源)。还可以通过对已经存在的数据库方向工程创建数据模型。此外,还可以为你的数据库产生SQL代码(DDL) ...

匿名
2009/04/15
2K
1

没有更多内容

加载失败,请刷新页面

加载更多

硬件配置

https://akkadia.org/drepper/futex.pdf sudo lshw -businfo[sudo] lambda 的密码: Bus info Device Class Description======================================......

MtrS
今天
3
0
springmvc的return “success”源码解读

qqqq

architect刘源源
今天
6
0
Java程序员五面阿里分享 逆袭成功 太不容易了!

前言 拿到阿里实习offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习心得。希望能够帮助更多的小伙伴。 我本科毕业于中南大学信管专业,真正开始学习Jav...

别打我会飞
昨天
4
0
Android Camera模块解析之视频录制

《Android Camera架构》 《Android Camera进程间通信类总结》 《Android Camera模块解析之拍照》 《Android Camera模块解析之视频录制》 《Android Camera原理之CameraDeviceCallbacks回调模...

天王盖地虎626
昨天
4
0
手把手教你使用issue作为博客评论系统

自从上周在阮一峰的 每周分享第 60 期 看到了可以将 GitHub 的 issue 当作评论系统,插入第三方网页的 JS 库——utterances。我就对此“魂牵梦绕”。个人博客使用的是VuePress。 TLDR (不多废...

jump--jump
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部