Login Gblog  
简单点~~~
 
文章全文
Goberl 发表于 2010-4-30 22:18:22

1.随机查询链接
SELECT TOP 10 * FROM categories
ORDER BY NEWID()

2..提高性能
    对建立了索引的列最好设置默认值,以去除is (not) null查询
    少用Join、SQL连接字符串的查询
    使用Like时,通配符不要放在句首
    用<、>代替not
    用EXITS代替IN
    用>=代替>,>2 TO >=3
    OUTER JOIN 与 INNER JOIN 的处理方式是不同的:对于 INNER JOIN 表,优化器会尝试重新排列联接顺序,而对于 OUTER JOIN 表则不会。外部表(LEFT OUTER JOIN 中的左表和 RIGHT OUTER JOIN 中的右表)将首先访问,然后才会访问内部表。这一固定的联接顺序可能会导致执行计划不能达到最优(创建索引后,inner join更具有优势)。
    使用非规范化数据库
规范化的数据库可防止数据存在功能相关性,以便轻松、高效地更新数据库。但是,查询数据库时可能需要联接许多表来组合信息。随着联接表数目的增多,查询运行时间会大大增加。因此,规范化的数据库并不一定是最佳的选择。如果数据库适当程度地不合规范,则可以减少必须联接在一起的表的数目,而不会使更新过程过于复杂。这通常是一个很好的折衷办法。
     注意 
通常,如果有相当多的查询需要联接五个或六个以上的表,则应考虑使用非规范化数据库。 (http://msdn.microsoft.com/zh-cn/library/ms172432(SQL.90).aspx)
    与固定长度列相比,可变长度列的缺点是一些操作的效率不高。例如,如果可变长度列开始时很小,而某 UPDATE 子句使其显著增大,则可能就要重新定位记录。此外,频繁的更新会导致数据页随着时间推移变得比较零碎。因此,在数据长度变化不大并且需要频繁进行更新时,建议使用固定长度列。
    创建长度较小的行
    使用长度较小的键
    全文搜索性能(http://msdn.microsoft.com/zh-cn/library/ms142560(SQL.90).aspx)

3.SQL区分大小写
区分大小写:select * from table where col='semye' collate Chinese_PRC_CS_AI
不区分大小写:select * from table where col='semye' collate Chinese_PRC_CI_AI


 

类别:Programming      标签:数据库      浏览(43)
相关主题:
(1060)指定的服务并未以已安装的服务存在 不确定项目数的选择题或者投票的数据库设计
评论列表:
闲云野鹤     发表于 2010-5-20 8:48:27
看了你的简历挺厉害的,不过不能随便让别人看哈......
MoHock     发表于 2010-5-25 9:55:27
你这杂记我转载了~好东西,一起分享
易棋牌     发表于 2010-6-3 10:26:36
顶个、、、、、、、
唏嘘一世     发表于 2010-7-4 21:59:28
这些提高性能的方法倒没注意。 有时间测试一下是不是确实如此。
广州网站建设     发表于 2010-7-27 18:55:01
建议你研究一下MYSQL,其实MYSQL不可忽视
外贸仿牌主机     发表于 2010-7-27 21:46:23
简简单单的页面风格,支持!
购物博客     发表于 2010-8-8 10:11:40
都是技术代码,不懂
刘志猛     发表于 2010-8-18 22:56:02
这是经验心得哦
发表评论
大名: ( *必填)
Email: (填写后,将收到Goberl对你的回复)
网址: (可选)
正文:
      记住信息?