littleQ

终于明白曾经他们失落的目光,当年的你们是否一样;间有懈怠或有颓放,难知多久方能补上;今起,不再彷徨!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  33 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

from: http://littlez.javaeye.com/blog/236059
我们总在说优化,有这么多可优化的地方吗?
开发需求:

create table HELP_TEST(    
id 
number
,   
CONTENT_ID 
NUMBER not null
,     
PV 
NUMBER not null
,     
UPDATE_DATE DATE 
not null
 )   
主键:id   
索引:content_id,update_date   
序列:seq_help_test_id  

看起来好像很简单,没什么不对的地方。
仔细分析业务,我发现content_id,update_date是唯一的,如果我们把这两个字段做个联合主键,那岂不是可以省略id主键,节省空间。表结构修改为:
create table HELP_TEST(    
CONTENT_ID 
NUMBER not null
,     
PV 
NUMBER not null
,     
UPDATE_DATE DATE 
not null
 )   
主键 :content_id,update_date  

这样下来,表记录少一个字段id,少一个id索引,每行记录节省了十几个字节,对于很小的表空间省略是微不足道的,但是对于上千万行记录的表来说,节省的空间还是相当可观的。
很多微不足道的地方,优化起来也是有用的,能省则省嘛。

--EOF--

Trackback:http://rdc.taobao.com/blog/dba/html/178_dev_whatdo.html/trackback
posted on 2008-09-03 13:17 littleQ 阅读(237) 评论(1)  编辑  收藏 所属分类: 数据库

Feedback

# re: 数据库优化小例子 2008-09-29 04:21 sclsch
content_id 看字面是个外键,标实别一张歌content的id
update_date 是更新时候。
他们都不宜作主键。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: