+ -
当前位置:首页 → 问答吧 → 数据库索引优化与规范

数据库索引优化与规范

时间:2011-11-11

来源:互联网

不知道是我孤陋寡闻,第一次听公司某个人大道理的:“数据库设计规范,一个表最多不超过2个索引”,而我坚持认为:
从没听过这种形式化数目一回事,我始终认为:索引的建立个数应该依据使用场景来确定,就好像10次操作数据表,9次都是读取,只有1次是属于更新方面操作。所以读取的性能跟更新的性能权衡,我始终坚持应该站在多数用户的性价比考虑。。

好几次类似这方面争论了,我不知道是他真理解了还是那么形式化,我都很受不了,之前有一次谈过时的 asp.net网站 跟asp.net 应用程序的 项目升级更替问题,被他那种错了还说的很肯定对的语气给雷倒到很无语,都不想争。。。
还有很多数据量明显在至少保守看5年内是无非突破到50万的,不知道是他钻牛角尖还是按程序员思路来做产品,唉,搞的一个明明就企业网站稍微复杂点的普通行业网站,吹嘘的要搞成阿里巴巴网站一样的高性能技术,有时我都很无语:人家在硬件\分布式 、技术科研累计那么久,跟人家比个毛,提鞋都没,再看看这个项目半年内被几个水平参差不齐的4个程序员接替搞的,超级的又卡又乱。。。
=========================================================
发太多牢骚了,还是让专家来评判我的观点正确与否。
场景需求:
某产品表数据量12万左右,按他的理解以后的以后会达到百万数据量,按我的分析和估算,我觉得5年内不会超过50万,5年后这家小公司还在与不在还真是个未知数。。
产品表的字段非常多,里面的数据因为开头没规划好,导致很多本来应该必填的Int,结果字段设计的都为可空类型,具体导致整个项目的拆装箱性能瓶颈这个就不多讨论。。
现在按他的开发需求,写了7个较复杂的SQL语句,受他的形式化要求限制,SQL语句我自认为精简优化到不可优化,但查询性能多数都在3秒多,部分复杂的需要达到10秒。。后面我通过数据库优化顾问工具,进行分析查询性能,建立了对应的大概5~6个索引后,基本上查询的性能都稳定在最多不超过1秒的查询性能。这时候,我闷了,这么多索引数目他一直认为这样不可以,但除了优化索引方式外,实在无非再进行提高性能。。。后面我说要不具体建立索引后再看看插入‘更新 方面的性能影响。。。
最后他也实在没更好方法,就只好默认这样尝试。。。。弄的我心里优化过程非常的纠结。。。

作者: datahandler   发布时间: 2011-11-11

我感觉还是用实际问题来说话,概念就是概念,支持楼主

作者: koumingjie   发布时间: 2011-11-11

优化就是一个适度量。 没有最优量。 

LZ 也不必为了让他明白而明白,很多时候不是道理在不在,而是人自己愿不愿承认的问题。

实践才是硬道理

作者: OrchidCat   发布时间: 2011-11-11

5年内不会超过50万,我觉得就不必考虑100万以后的事

作者: pengxuan   发布时间: 2011-11-11

http://topic.csdn.net/u/20091013/15/9f058df7-4d29-47bf-a338-b63fcab2abc0.html

看看这个帖子里面的优化部分。

作者: fredrickhu   发布时间: 2011-11-11

热门下载

更多