Navicat和SQLynx功能比较三(数据导出:使用MySQL近千万数据测试)

数据导出的功能在数据库管理工具中是最普遍的功能之一。所以数据导出的功能稳定性和性能也是数据库管理工具是否能很好地满足应用需求的一个考虑因素。

目录

1. 整体比较

2. 示例

2.1 前置环境

2.2 Navicat导出

2.3 SQLynx导出

2.4 性能对比结果(690万行数据)

3. 结论


Navicat的产品到目前为止已经超过20年的时间,产品的基础稳定性比较好,但在大数据量导出上容易出现不稳定的因素。SQLynx的产品主要设计是参照大企业客户来完成的,在大数据量的导出上更稳定一些。

1. 整体比较

以下是 SQLynx 和 Navicat 两款工具在数据导出功能上的对比:

功能SQLynxNavicat
支持的导出格式CSV, Excel, JSON, SQLCSV, Excel, JSON, XML, SQL Script, Access, DBF, ODBC
导出步骤通常通过直观的向导进行选择和导出提供详细的导出向导和预设模板,步骤较为全面
自定义导出可以选择具体的表、查询结果进行导出只能对具体的表进行导出
导出数据量亿级几十万级别
用户界面简洁直观,适合快速操作界面友好,提供丰富的导出选项和设置
兼容性适用于多种数据库,包括 MySQL、PostgreSQL、大数据平台和国产数据库 等广泛支持 MySQL、PostgreSQL、SQLite、Oracle、SQL Server 等
错误处理导出过程中出现错误会提供详细的日志和提示导出失败时提供详细的错误报告
多语言支持提供多种语言版本,适合全球用户支持多语言界面,用户可以选择适合自己的语言

2. 示例

2.1 前置环境

本地MySQL环境,部署了Mac Pro上,16GB内存。

SQLynx和Navicat都在本地,去掉了网络的影响,因此主要比较性能方面。

基于employees_1000数据量级别690万行数据,表结构为:

CREATE TABLE `employees_1000` (`emp_no` int NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` enum('M','F') NOT NULL,`hire_date` date NOT NULL,KEY `employees_index` (`emp_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

2.2 Navicat导出

选择salaries_30m的表,右键选择导出表,选择CSV文件开始导出:

导出成功,总体耗时235.77秒

2.3 SQLynx导出

SQLynx可以支持在表级别或是直接根据查询语句来完成导出,相对灵活。

此处使用查询后直接导出的方式,既可以支持单表,也可以支持复杂查询(此处使用单表),此处在查询后在结果处直接导出所有的数据。

导出成功,总体耗时74秒(任务可以完全后台运行,不影响其他操作):

2.4 性能对比结果(690万行数据)

3. 结论

SQLynx和Navicat在大数据量的导出的时候表现都比较优异,成功完成了接近千万的数据导出,但性能上SQLynx只用了74秒,而Navicat用了235.77秒,相差在3倍以上

同时SQLynx可以支持复杂查询的数据结果导出,使数据导出的能力得到更大的满足。

所以用户根据具体需求选择合适的工具,从而提高数据导出的效率和成功率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

商超仓库管理系统

摘要 随着全球经济和互联网技术的快速发展,依靠互联网技术的各种管理系统逐渐应用到社会的方方面面。各行业的有识之士都逐渐开始意识到过去传统的人工管理模式已经逐渐成为企业发展的绊脚石,不再适应现代企业的发展需要。企业想要得到更好的发展&#…

ES中下载ik解决版本不一致问题

1.链接: https://github.com/infinilabs/analysis-ik/releases/tag/v7.17.7 2.我的ES版本是7.17.9 但是Ik没有7.19,只有7.17 3.下载之后创建ik,然后把下载的导入进去: 4.因为版本不一致 我们修改 把所有的7.17.7改为7.17.9然…

【MySQL】 -- 用户管理

1. 权限 如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。创建出非root用户,限制其权限。 权限这个概念拿出来就是用来限制非root用户的。这样从技术手段上保证了数据的安全性和完整性,防止有人删库…

建议收藏!入门上位机编程的疑问解答

大家好,我是华山自控编程朱老师,今天我为大家准备了一些干货,希望能帮助到你们! 1. 自动化控制编程的方向 答: 自动化控制编程主要有以下几个方向: 单片机编程PLC编程上位机编程 随着技术的不断创新&am…

ansible copy模块--持续创作中

copy模块用于将文件从ansible控制节点(管理主机)或者远程主机复制到远程主机上。其操作类似于scp(secure copy protocol)。 关键参数标红。 参数: src:(source:源) 要复制到远程…

MySQL Xid、trx_id 作用及区别

1、Xid: Xid是用来联系bin log和redo log的。 存在于binlog和redolog之中。 在宕机后进行恢复时,判断事务是否已经提交成功,还是说需要回滚。 比如redo log里面有一个事务是prepare状态(第1阶段提交),那就可以用Xid去binlog里面查询该事务…

Effective C++ 改善程序与设计的55个具体做法笔记与心得 3

三. 资源管理 13. 以对象管理资源 请记住: 为防止资源泄露,使用智能指针 14. 在资源管理类中小心copying行为 请记住: 复制RAII对象必须一并复制他所管理的资源,所以资源的copying行为决定RAII对象的copying行为普遍而常见的…

2024年6月20日 (周四) 叶子游戏新闻

超市播音系统: 定时播放不同音乐 强制卸载软件: 一款强制卸载软件 免费多人沙盒游戏《宝藏世界》推出更新“潮起潮落”,带来全新克苏鲁风冒险准备好迎接一场超凡的冒险吧,MMORPG发行商gamigo宣布《宝藏世界》的最新更新:“潮起潮落”。这次更…

探索Linux命令的新利器:linux-command

在Linux操作系统中,熟练掌握各种命令是成为一名高效开发者或管理员的关键。然而,即使是经验丰富的用户,有时也会遇到命令用法不熟悉或者记忆模糊的情况。这时,一个功能强大的命令搜索工具就显得格外重要。最近在逛github的时候正好…

代码随想录算法训练营第29天(贪心)|455.分发饼干、376. 摆动序列、53. 最大子序和

455.分发饼干 题目链接:455.分发饼干 文档讲解:代码随想录 状态:so easy 思路:对胃口和饼干大小排序,小胃口对应小饼干,不满足的话用下一块饼干试探。 题解: public int findContentChildren(i…

CSS--解决图片变形的方法

原文网址:CSS--解决图片变形的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍html文件中图片变形的解决方法。 问题描述 我们经常需要指定所有图片的大小,让它们排列起来时看起来更整齐。但是,如果我们指定了width和height,那…

力扣41 缺失的正数

给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 [1,2] 中的数字都在数组中…

volatile关键字(juc编程)

volatile关键字 3.1 看程序说结果 分析如下程序,说出在控制台的输出结果。 Thread的子类 public class VolatileThread extends Thread {// 定义成员变量private boolean flag false ;public boolean isFlag() { return flag;}Overridepublic void run() {// 线…

灵感互娱U3D笔试题

文章目录 题目1解析 题目2解析 题目3解析 题目4数组链表 题目5解析 题目6解析 题目7解析题目8解析 后话 题目1 以下C#代码的输出顺序是什么 namespace ConsoleApp2 {internal class Program{class A{ public A(string text){Console.WriteLine(text);}}class B{static A a1 …

原子性(juc编程)

原子性 概述:所谓的原子性是指在一次操作或者多次操作中,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行,多个操作是一个不可以分割的整体。 //比如说:你喂你女朋友吃冰淇…

ScheduledExecutorService引起的线上问题(抛出异常后不继续执行)

线上有一个服务,采用ScheduledExecutorService定时任务刷新数据库数据到本地缓存作为路由信息 private ScheduledExecutorService scheduledExecutorService Executors.newScheduledThreadPool(1);scheduledExecutorService.scheduleWithFixedDelay(new Runnable()…

【docker】adoptopenjdk/openjdk8-openj9:alpine-slim了解

adoptopenjdk/openjdk8-openj9:alpine-slim 是一个 Docker 镜像的标签,它指的是一个特定的软件包,用于在容器化环境中运行 Java 应用程序。 镜像相关的网站和资源: AdoptOpenJDK 官方网站 - AdoptOpenJDK 这是 AdoptOpenJDK 项目的官方网站&…

Nginx Rewrite技术

一:理解地址重写 与 地址转发的含义。二:理解 Rewrite指令 使用三:理解if指令四:理解防盗链及nginx配置 简介:Rewrite是Nginx服务器提供的一个重要的功能,它可以实现URL重定向功能。 一:理解地…

数据库异常恢复2-备份文件恢复(快速恢复的手动启动方式)

(四) 备份文件备份恢复的概念 本次所说的数据恢复有异于数据的导入导出 1. 备份工具 gbase8s数据库提供了两种工具进行完成系统物理备份、逻辑日志备份和系统恢复:ontape和onbar ontape:提供了基本的系统物理备份、日志备份和恢复能力,其…

C++基础知识——命名空间

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:Yan. yan. 文章目录 1、什么是命名空间2、命名空间的作用3、如何定义命名…