zoukankan      html  css  js  c++  java
  • firedac的性能

    应该说,目前10.3的方方面面基本正常的坑基本填好了。因此综合考虑还是用datasanp+firedac框架操练。

    ================================

    数据量2w行,字段30个

    第一次open

    fd读取数据用时363毫秒,ado用时783毫秒

    第二次open 
    fd读取数据用时10毫秒,ado用时553毫秒

    遍历所有记录

    第一次

    fd读取数据用时2438毫秒,ado用时5590毫秒
     
    第二次
    fd读取数据用时1988毫秒,ado用时5548毫秒

    --------------------------------------------------

    fd读取数据用时363毫秒,ado用时783毫秒

    fd读取数据用时363毫秒,ado用时783毫秒

    FireDac 组件说明一

    TFDManager                              连接定义和Connect连接管理 
    TFDConnection     

    数据库连接组件,支持三种连接方式:1.持久定义(有一个唯一名称和一个配置文件,可以由FDManager管理)

     例:

      

    uses
      FireDAC.Comp.Client, FireDAC.Stan.Intf;
    var
      oDef: IFDStanConnectionDef;
    
    begin
      oDef := FDManager.ConnectionDefs.AddConnectionDef;
      oDef.Name := 'MSSQL_Connection';
      oDef.DriverID := 'MSSQL';
      oDef.Server := '127.0.0.1';
      oDef.Database := 'Northwind';
      oDef.OSAuthent := True;
      oDef.MarkPersistent;
      oDef.Apply;
      .....................
      FDConnection1.ConnectionDefName := 'MSSQL_Connection';
      FDConnection1.Connected := True;
    end;
     

    2.私有定义(有一个唯一名称可以由FDManager管理,无配置文件)

    例:

    var
      oParams: TStrings;
    begin
      oParams := TStringList.Create;
      oParams.Add('Server=127.0.0.1');
      oParams.Add('Database=Northwind');
      oParams.Add('OSAuthent=Yes');
      FDManager.AddConnectionDef('MSSQL_Connection', 'MSSQL', oParams);
      .....................
      FDConnection1.ConnectionDefName := 'MSSQL_Connection';
      FDConnection1.Connected := True;
    end;

    3.临时定义(没有名称和配置文件,不能由FDManager管理,运行时将参数写入params属性)

    例:

    uses
      FireDAC.Phys.IBDef, FireDAC.Phys.IBWrapper;
    ......
    FDConnection1.DriverName := 'IB';
    with FDConnection1.Params as TFDPhysIBConnectionDefParams do begin
      Protocol := ipTCPIP;
      Server := '127.0.0.1';
      Database := 'c:IBemployee.gdb';
      UserName := 'sysdba';
      Password := 'masterkey';
    end;
    FDConnection1.Connected := True;
    2. FDConnection1.ConnectionString := 'DriverID=MSSQL;Server=127.0.0.1;Database=Northwind;User_name=sa';

    FDConnection1.Connected := True;)

    end;

     TFDTransaction    数据库事务管理
     TADCommand 
     执行SQL语句。不返回结果
     TFDTableAdapter   提供应用程序与数据之间的通信
     TFDSchemaAdapter  

    集中缓存更新。非常重要且实用的组件。先要将数据集,设置CachedUpdates属性为True。

     TFDMemTable FireDAC自家的内存表,三层必备的组件,也是非常重要,完全可以替代ClientDataSet
     FDQuery 类似于ADOQuery的组件,直接SQL语句并存储返回结果 
     TFDStoredProc 执行服务器存储过程
     TFDTable 类似于ADOTable,数据库表数据集 
  • 相关阅读:
    求所有科目都大于80分的学生姓名
    sql server如何设置密码过期时间呢?
    sql server官网使用查找技术文档(msdn、联机丛书)
    【版本特性】sql server2014版本特性
    SQLSERVER文件组误脱机后如何联机
    sql server2014中的内存优化表/内存表(续写)
    JNI日志调试LOG和中文乱码
    JNI常见错误整理
    什么是“软解码”,什么又是“硬解码”呢?
    创建eclipse针对NDK的联合编译环境。
  • 原文地址:https://www.cnblogs.com/usegear/p/12640765.html
Copyright © 2011-2022 走看看