Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1332862
  • 博文数量: 185
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 3934
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-11 13:11
个人简介

iihero@ChinaUnix, ehero.[iihero] 数据库技术的痴迷爱好者. 您可以通过iihero AT qq.com联系到我 以下是我的三本图书: Sybase ASE in Action, Oracle Spatial及OCI高级编程, Java2网络协议内幕

文章分类

全部博文(185)

文章存档

2014年(4)

2013年(181)

分类: Mysql/postgreSQL

2013-07-25 09:55:35

前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。首先这样做对于数据库有没有坏的影响,其次有没有比较简单的方法或者工具可以解决这个问题。

其实这个问题,对于大多数关系型DBMS,也都很常见。 


调整字段顺序,看你往什么方向调整。

基本思路是:在数据量少的情况下,调整都比较快。数据量大,一般倾向于先建新表,入数据,再删旧表。

理想的字段顺序是:


  1. 简单的,短值字段在前,复杂的,非结构化的长值字段在后(如BLOB字段通常放到最后)。
  2. 定长字段在前,不定长字段在后
  3. 带索引的字段在前,不带索引的字段在后。
  4. 常读取的字段在前,不常读取的字段在后。
  5. 主键字段在前,非主键字段在后。
  6. 复合主键字段顺序与表中字段顺序一致。


而对NoSQL DB而言,反而没什么影响,因为它们大都基于键值对来存储的。

阅读(4313) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~