HTML5技术

In-Memory:内存数据库 - 悦光阴(3)

字号+ 作者:H5之家 来源:H5之家 2017-01-08 11:00 我要评论( )

使用Atomic Block必须设置两个选项: TRANSACTION ISOLATION LEVEL:指定Atomic Block开启事务的隔离级别,通常指定Snapshot隔离级别; LANGUAGE:指定SP上下文的语言; 3,解释型SP和本地编译SP的区别 解释性SP能

使用Atomic Block必须设置两个选项:

  • TRANSACTION ISOLATION LEVEL:指定Atomic Block开启事务的隔离级别,通常指定Snapshot隔离级别;
  • LANGUAGE:指定SP上下文的语言;
  • 3,解释型SP和本地编译SP的区别

    解释性SP能够访问硬盘表(Disk-Based Table)和内存优化表(Memory-Optimized Table),其真正的区别是解释性(Interpreted)SP在第一次执行时编译,而本地编译(Natively Compiled)SP是在创建时编译,并且直接编译成机器代码,绑定的是内存地址。

    4,延迟持久化

    在本地编译SP中,设置Atoic Block的选项:DELAYED_DURABILITY = ON ,使SP对内存优化表的更新操作,以异步写事务日志方式,延迟持久化到Disk,这意味着,如果内存优化表维护了一个Disk-Based 的副本,数据在内存中修改之后,不会立即更新到Disk-Based 的副本中,这有丢失数据的可能性,但是能够减少Disk IO,提高数据更新的性能。

    四,使用内存优化的表变量和临时表

    传统的表变量和临时表,都使用tempdb存储临时数据,而tempdb不是内存数据库,使用Disk存储临时表和表变量的数据,会产生Disk IO和竞争,SQL Server提供了内存优化的表变量,将临时数据存储在内存中,详细信息,请参考我的博客:《In-Memory:在内存中创建临时表和表变量》。

    五,在内存数据库中使用JSON

    自从使用JSON之后,我的第一感概是:数据库岂能没有JSON,不管是数据库将值传递前端,还是前端将数据传递到数据库,使用JSON方便很多,相比XML,JSON的使用简单很多,详细信息,请参考我的博客:《使用TSQL查询和更新 JSON 数据》

    六,内存数据库的事务处理

    交叉事务是指在一个事务中,解释性TSQL语句同时访问内存优化表(Memory-Optimized Table,简称MOT)和硬盘表(Disk-Based Table,简称DBT)。在交叉事务中,访问MOT的操作和访问DBT的操作都拥有自己独立的事务序号,就像在一个大的交叉事务下,存在两个单独的子事务,分别用于访问MOT和DBT;在sys.dm_db_xtp_transactions (Transact-SQL)中,访问DBT的事务使用transaction_id标识,访问MOT的事务序号使用xtp_transaction_id标识。详细信息,请参考我的博客:《In-Memory:内存优化表的事务处理》

     

    参考文档:

    In-Memory OLTP (In-Memory Optimization)

    Introduction to Memory-Optimized Tables

    Natively Compiled Stored Procedures

    Memory-Optimized Tables

    试试SQLSERVER2014的内存优化表

    SQLServer 2014 内存优化表

    SQL Server 2014 内存优化表(1)实现内存优化表

    CREATE TABLE (Transact-SQL)

    CREATE PROCEDURE (Transact-SQL)

    Creating Natively Compiled Stored Procedures

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) - 三生石上

      【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) - 三生石上

      2016-12-23 17:00

    • 使用Web Storage模拟数据库 - MRGan

      使用Web Storage模拟数据库 - MRGan

      2016-12-04 11:00

    • 八年数据库之路的感悟 - Double_K

      八年数据库之路的感悟 - Double_K

      2016-11-16 14:00

    • IndexedDB:浏览器里内置的数据库(转) - letvar

      IndexedDB:浏览器里内置的数据库(转) - letvar

      2016-10-26 10:00

    网友点评
    "