优化 SQL Server 数据库必须考虑的问题(一)
2008-04-10 22:01
239 查看
[align=left]优化SQL 数据库必须考虑的问题
在优化你的数据库时,你可能没有用到这些细节的优点。以下是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_前缀?你有没有意识到这样做给性能带来了什么影响? [/align]
在优化你的数据库时,你可能没有用到这些细节的优点。以下是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_前缀?你有没有意识到这样做给性能带来了什么影响? [/align]
相关文章推荐
- 优化数据库前需考虑的十个问题
- 数据库优化需要考虑的问题
- 优化数据库前必须问自己的10个问题
- 优化数据库前需考虑的十个问题
- 问题:sql server 2005 中数据库关系图无法使用——基于SQL Server 2005
- mysql 数据库存储需要考虑的问题
- Oralce数据库的优化(面试必问题)
- 作为大型网站架构必须考虑的十大问题
- Oracle优化01-引起数据库性能问题的因素
- 关于数据库优化2——关于表的连接顺序,和where子句的前后顺序,是否会影响到sql的执行效率问题
- 作为大型网站架构必须考虑的十大问题
- 64位windows7系统安装SQL Server 2008后,新建数据库或附加数据库时都会出问题
- SQL Server 2000数据库连接问题,SP4
- 解决SQL Server 2008数据库主键自增的问题
- SQL server 2008 数据库优化常用脚本
- Oracle11g 创建数据库中问题处理(必须运行Netca以配置监听程序)
- 数据库中的优化问题
- 解决SQL Server 2005数据库无法连接的问题
- SQL Server 无法查看数据库属性问题的解决
- SQL Server的分页优化及Row_Number()分页存在的问题