51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5200|回复: 4
打印 上一主题 下一主题

优化数据库前问自己的10个问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-10-19 17:51:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在优化你的数据库时,你可能没有用到这些细节的优点。以下是10个关于你的数据库性能的问题,需要你问问自己。  1. 假设你的数据库不需要存储特殊字符的能力,尤其是Unicode标准中规定的那些字符,你有没有在系统中把nchar类型替换成char之类的各种适用的字段类型?
  2. 你是不是在用smalldatetime类型,而不是datetime?如果你不清楚这两种类型有什么区别,这是一个简单介绍:smalldatetime类型可以存储1900年1月1日至2079年6月6日的日期,而datetime类型把这一范围扩展到了1753年1月1日至9999年12月31日。你需要这么大的范围吗?
  3. 你是不是例行公事地使用bit类型来代替smallint类型?如果是这样,你知道其中的代价吗?这对你的程序可能并没有影响,但smallint类型可以建立索引,bit类型不行。
  4. SQL Server 2000在bit类型字段中允许空值,而且是默认的。有人希望这样,也有人不希望这样。
  5. 你如何处理字段中的空值?默认方式是允许空值,但更好的办法是禁止空值,允许零长度的字符串。
  6. 你想过表中能容纳的最多行数吗?你比较过这个数值和数据页的大小8060字节吗?
  7. 你有没有好好利用标准字段?(去看看菜单里的工具->选项->标准字段)
  8. 你的表中有没有一个时间戳字段?如果没有的话,你知道什么时候这种字段会有用处吗?
  9. 你的表都有区块索引吗?你知道一个表什么时候应该有区块索引,什么时候一文不值吗?
  10. 你在命名存储过程时有没有用sp_前缀?你有没有意识到这样做给性能带来了什么影响?
  要避免这些常见的开发问题,一个很好的办法是使用SSW的SQL Auditor,它能审核的事情远远不止我所列出的10条。SQL Auditor的价格很合理,最好的一点是你可以下载测试版,试用20次之后再付费。SSW的试用策略吸引了我,可能因为我经常下载一些限制14天使用的试用软件,之后忘记运行它,直到试用期过去。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-11-1 11:41:29 | 只看该作者
总结得不错。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-1-27 10:47
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2007-11-8 17:37:53 | 只看该作者

    帮助大大滴

    近期正在做性能测试方面的工作,涉及到数据库的优化调试.LZ的问题太及时了........
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-15 23:14
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2009-2-12 14:54:44 | 只看该作者
    不错的帖子。支持下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2011-7-9 14:13:45 | 只看该作者
    LZ总结的第三点很不错,很有意义,实际BIT存储空间并非想当然的那样,怎么使用,确实需要评估,但也并非说bit就不如smallint,不是有句话叫存在即为合理么?呵呵,建议大家看看http://database.51cto.com/art/201007/210764.htm
    这里面对bit的描述还比较清楚,个人觉得不错
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-23 20:05 , Processed in 0.070076 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表