• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > 关于若干数据库数据插入性能的对比分析

关于若干数据库数据插入性能的对比分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了数据库性能优化,数据库性能测试,数据库性能调优,数据库性能,oracle数据库性能优化等相关知识,希望本文的分享对您有所帮助
本地数据库接触不多,最早用过Access,但现在SQLite功能更加强大--而且,说实在的我不喜欢Access,连带着不喜欢SqlServer,只要一看到满眼的@号go号我就头晕不止;更何况有一个我感觉非常致命的问题:分页太麻烦!远不如mySql/SQLite中的limit或者Oracle中的rownum来得痛快。

平时基本使用Oracle,对它的性能知根知底了;mySql近年来混得风生水起,想必有过人之处,也一并纳入测试范围了。

另外,Access现在有2007版,不知道和2003版在性能上有什么区别没有?特意分开进行测试。

测试环境如下:
服务器:本机(笔记本,I3 370,8G内存)
操作系统:windows 7 x64
语言环境:C#,使用控制台程序测试。
虚拟机:安装SqlServer2008,2CPU,3G内存。
数据库:Oracle11g(本机数据库)
SQLite(本机文件)
MySql(版本5的绿色版)
SqlServer(不想在本机安装2008版本,本来想使用本机的学习版,但死活不行,只好在本机虚拟机上安装一个2008版本,测试性能有所下降,但也只好如此了)
Access(2003版)
Access(2007版)
测试方法:先生成10000条记录(每条记录6个字段),插入数据前先清除原有数据;
数据插入分为事务性写入(启动事务,逐条插入后提交)及非事务性写入(不启动事务,逐条插入)。
SqlServer数据库在本地虚拟机的数据库中,数据不太准确;为消除网络操作影响,将代码移到虚拟中直接执行一次。

测试过程中发现了若干有趣的问题:
1.64位操作系统下,Access无法在编译为AnyCpu的程序下执行,必须编译为x86方可正常操作。(如果是网站,必须将池设置为启用32位兼容)
2.SQLite有64位版本的DLL,可以正常在64位环境(控制台程序)下运行;但很奇怪的是,如果是网站,则使用64位DLL反而无法正常运行,必须使用32位版本的DLL,并且将IIS的池设置为启用32位兼容才可正常运行。
3.Access的2003版本与2007版本的数据库连接串是不相同的,如下:
2003:@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\xxx\test.mdb";
2007:@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\xxx\test.accdb";
测试结果如下:
数据库类别 插入数量 本地事务(毫秒) 本地无事务(毫秒) 说明
每条记录耗时 每秒插入条数 每条记录耗时 每秒插入条数
Oracle 10000 0.23 4300 0.9 1103 本地数据库
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 数据库查询性能需注意几点经验
  • 关于若干数据库数据插入性能的对比分析

相关文章

  • 2017-05-11redis数据库查找key在内存中的位置的方法
  • 2017-05-11数据库设计规范化的五个要求 推荐收藏
  • 2017-05-11NoSQL 数据库你应该了解的 10 件事
  • 2017-05-11超大数据量存储常用数据库分表分库算法总结
  • 2017-05-11推荐Sql server一些常见性能问题的解决方法
  • 2017-05-11SQL中NTEXT字段内容显示<long text>的原因
  • 2017-08-07mybatis keyproperty 总是返回1
  • 2017-05-11一个提升PostgreSQL性能的小技巧
  • 2017-05-11举例简单介绍PostgreSQL中的数组
  • 2017-05-11复制数据库表中两个字段数据的SQL语句

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQLServer 2005 和Oracle 语法的一点差异小结
    • DBCC SHRINKDATABASEMS SQL数据库日志压缩方法
    • redis数据库查找key在内存中的位置的方法
    • mybatis if else 判断 传入整数为0时 不能过滤的解决方案
    • sql 左连接和右连接的使用技巧(left join and right join)
    • 很全的SQL中文解释代码第1/2页
    • 数据库 SQL千万级数据规模处理概要
    • 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序错误的解决方法
    • ADO.NET数据库访问技术
    • 使用dump transaction with no_log的危险性说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有