[转]如何写出高效能TSQL -深刻浅出SQL Server Relational Engine (含 SQL 2014 in-memory Engine)

[转]如何写出高效能TSQL -深刻浅出SQL Server Relational Engine (含 SQL 2014 in-memory Engine)sql

http://blogs.technet.com/b/chinatechnet/archive/2015/01/16/tsql-sql-server-relational-engine-sql-2014-in-memory-engine.aspx安全

TSQL on Azure 若有你有使用Azure SQL Database的话,那么在撰写TSQL时须要留意如下几个重点。 1. 善用数据表值参数 SQL 2014有增强数据表值参数(SQL Azure 也同样),就是数据表值参数可使用索引来提升查询效能,之前你们可能比较经常使用temp table来处理元数据,但在Azure上须要小心使用过多的tempdb资源,毕竟tempdb只有一个 (你们共享),因此当使用过多tempdb资源时,Azure可能会自动切断联机,因此建议使用数据表值参数取代temp数据表来处理元数据。 2. 减小数据网络来回次数 因为网络质量咱们没法掌握,因此必定要减小数据在Azure和Client之间的往来次数,同时也要创建一套安全retry机制,基本上都建议采起批处理 (如一次捞所需的数据结果集),少用row by row方式 (这也增长 Azure 费用成本) 来查询数据或进行数据异动 (如c ursor),且全部TSQL请使用try.. catch包起来,如遇到问题 (如网络断线..等)才能够有相对应处理方法。 3. 善用快取 能够在数据表中新增 rowversion 字段,这样咱们就能够轻易使用该字段(注意该字段不建议成为索引键值)来判断上次读取数据列后,数据列中任何值是否有改变,若是没有改变的话就读取本地快取数据,不然就读取Azure上数据,这不只能够大幅提升效能,同时也能够省下很多 Azure 费用成本。
相关文章
相关标签/搜索