找回密码
 加入怎通
查看: 358|回复: 5

[站长八卦] 优化数据库前要注意的几个问题

[复制链接]
2486831241 发表于 2013-12-09 15:29:47 | 显示全部楼层 |阅读模式
在优化你的数据库时,你可能没有用到这些细节的优点。以下是10个关于你的数据库性能的问题,需要你问问自己……
  E8 ^- B/ d5 w  1. 假设你的数据库不需要存储特殊字符的能力,尤其是Unicode标准中规定的那些字符,你有没有在系统中把nchar类型替换成char之类的各种适用的字段类型?
7 [1 V6 T, N( t1 R; K  2. 你是不是在用smalldatetime类型,而不是datetime?如果你不清楚这两种类型有什么区别,这是一个简单介绍:smalldatetime类型可以存储1900年1月1日至2079年6月6日的日期,而datetime类型把这一范88idea.net围扩展到了1753年1月1日至9999年12月31日。你需要这么大的范围吗?4 w: h6 A1 I& a! w
  3. 你是不是例行公事地使用bit类型来代替smallint类型?如果是这样,你知道其中的代价吗?这对你的程序可能并没有影响,但smallint类型可以建立索引,bit类型不行。
' S6 C" l! D1 H( b/ w  4. SQL Server 2000在bit类型字段中允许空值,而且是默认的。有人希望这样,也有人不希望这样。$ e9 B1 w% U8 ~4 _
  5. 你如何处理字段中的空值?默认方式是允许空值,但更好的办法是禁止空值,允许零长度的字符串。
# b, `+ w6 U# q' v% O  6. 你想过表中能容纳的最多行数吗?你比较过这个数值和数据页的大小8060字节吗?
; L; R1 T, O! ^/ X1 d  7. 你有没有好好利用标准字段?(去看看菜单里的工具->选项->标准字段)
% r. z* n5 h4 O  8. 你的表中有没有一个时间戳字段?如果没有的话,你知道什么时候这种字段会有用处吗?* L( |6 S  g! R
  9. 你的表都有区块索引吗?你知道一个表什么时候应该有区块索引,什么时候一文不值吗?
. a% b  ?4 I" Y- x0 ?  10. 你在命名存储过程时有没有用sp_前缀?你有没有意识88yulechen.com到这样做给性能带来了什么影响?
  Z1 Z9 g& Q+ l( n: Q$ ?/ j+ S- r  要避免这些常见的开发问题,一个很好的办法是使用SSW的SQL Auditor,它能审核的事情远远不止我所列出的10条。SQL Auditor的价格很合理,最好的一点是你可以下载测试版,试用20次之后再付费。SSW的试用策略吸引了我,可能因为我经常下载一些限制14天使用的试用软件,之后忘记运行它,直到试用期过去。
2 y4 i" r$ H9 T& e" b' ~8 k4 a3 m7 H" S7 T$ a" V1 t6 k; o+ ~3 [

3 |! c# Y3 J3 L5 v; \

暂时无法加载帖子列表

回复

使用道具 举报

≮_龍/kuk域_≯ 发表于 2026-01-29 11:08:08 | 显示全部楼层
刚好遇到类似问题,看完这个帖子心里有底了
回复

使用道具 举报

lsdkiqweo 发表于 2026-05-21 09:59:12 | 显示全部楼层
内容很干货,没有多余的废话,值得反复看
回复

使用道具 举报

花花 发表于 2026-06-21 14:10:53 | 显示全部楼层
这个思路很新颖,打开了新世界的大门,谢谢分享
回复

使用道具 举报

亲亲and米苏 发表于 2026-10-18 23:45:23 | 显示全部楼层
完全赞同,我也是这么认为的,英雄所见略同~
回复

使用道具 举报

枕边玩具黄黄 发表于 2026-10-20 14:31:04 | 显示全部楼层
楼主辛苦了,整理这么多内容,必须点赞收藏
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-10-31 04:48 , Processed in 0.036965 second(s), 26 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

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