使用Navicat生成MySQL測試數(shù)據(jù)全過程
使用Navicat生成MySQL測試數(shù)據(jù)
Navicat版本:16.1.3
場景:
因為某些原因,本人負責項目的數(shù)據(jù)庫需要從MySQL遷移到PostgreSQL,所以就想測試一下PostgreSQL數(shù)據(jù)庫的分區(qū)表性能。
測性能的話大概需要兩千萬的測試數(shù)據(jù),從生產(chǎn)庫導出的話呢阿里云有限制,因為數(shù)據(jù)庫實例是“自由模式”,每天只能免費導出100W條,想要導出更多的話就得升級實例(得花錢,不可取)。又想到了可以寫腳本在服務(wù)器上去查詢數(shù)據(jù)然后導出成csv文件再下載到本地,但是這樣比較麻煩也就放棄了。
因為不要求數(shù)據(jù)非常的精確,所以就想到了自己造數(shù)據(jù)的方式,第一反應當然是通過存儲過程,但是呢對于存儲過程這種東西吧,只聽過,沒用過,所以也就不是很精通。
在查詢解決方案的過程中呢,就發(fā)現(xiàn)了Navicat數(shù)據(jù)生成工具,下面我來做一個詳細的介紹
1.配置測試數(shù)據(jù)庫
CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主鍵', `guid` varchar(255) CHARACTER SET gbk DEFAULT NULL COMMENT '隨機id', `name` varchar(255) CHARACTER SET gbk DEFAULT NULL COMMENT '姓名', `age` int DEFAULT NULL COMMENT '年齡', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

2.使用Navicat數(shù)據(jù)生成工具
可以在數(shù)據(jù)表中或者Navicat上方的工具欄中找到數(shù)據(jù)生成工具

3.操作流程
我們以上圖中的①為例
1.設(shè)置生成數(shù)據(jù)的條數(shù)
點擊“數(shù)據(jù)生成”后,我們點擊表名可以設(shè)置數(shù)據(jù)的生成數(shù)量

2.設(shè)置數(shù)據(jù)的格式
點擊下一步,我們可以根據(jù)不同的數(shù)據(jù)類型,去選擇不同的數(shù)據(jù)生成器,數(shù)據(jù)生成工具中提供了非常多的生成器來滿足我們所需要的數(shù)據(jù)類型

例如我的guid需要是uuid類型的,那我就可以選擇uuid生成器

再比如我可以選擇姓名生成器去生成name字段所需要的值

如果我們想要在特定的數(shù)據(jù)中去隨機選擇,我們還可以使用枚舉類型的生成器

剩下的數(shù)據(jù)類型可以下來之后自行去研究
4.生成數(shù)據(jù)
我們對字段配置好之后,就可以點擊下一步來預覽模擬生成的數(shù)據(jù)了

點擊開始就可以生成數(shù)據(jù)了

tips:我們在這一步可以對我們剛才所做的配置進行保存,并且可以在下次生成數(shù)據(jù)的時候直接加載配置好的文件

同時我們也可以在選項中,關(guān)閉事務(wù),來提高插入效率

5.總結(jié)
Navicat數(shù)據(jù)生成工具對我們本地生成測試數(shù)據(jù)非常的友好和便捷,支持廣泛的數(shù)據(jù)類型和同時生成多張表的測試數(shù)據(jù),可以極大地減輕程序猿的工作量,方便我們有更多的時間去做其他美好的事情。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL表和列、增刪改查語句及數(shù)據(jù)類型約束示例詳解
MySQL數(shù)據(jù)庫的增刪改查操作,這可是每個軟件測試工程師的必備技能,下面這篇文章主要介紹了MySQL表和列、增刪改查語句及數(shù)據(jù)類型約束的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2026-02-02
MySQL中查詢所有數(shù)據(jù)庫占用磁盤空間大小和單個庫中所有表的大小的sql語句
這篇文章主要介紹了在mysql中如何查詢所有數(shù)據(jù)庫占用磁盤空間大小的SQL語句,這樣方便我們了解數(shù)據(jù)庫的一些情況2013-08-08
MySQL如何根據(jù)不同條件聯(lián)查不同表的數(shù)據(jù)if/case
這篇文章主要介紹了MySQL如何根據(jù)不同條件聯(lián)查不同表的數(shù)據(jù)if/case問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
MySQL中根據(jù)binlog日志進行恢復的實現(xiàn)
MySQL的binlog功能為數(shù)據(jù)庫的恢復和故障排查提供了有力支持,本文主要介紹了MySQL中根據(jù)binlog日志進行恢復的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2025-04-04
關(guān)于mysql調(diào)用新手們常犯的11個錯誤總結(jié)
對于很多新手們來說,使用PHP可以在短短幾個小時之內(nèi)輕松地寫出具有特定功能的代碼。但是,構(gòu)建一個穩(wěn)定可靠的數(shù)據(jù)庫卻需要花上一些時日和相關(guān)技能。下面這篇文章就來總結(jié)了關(guān)于mysql調(diào)用新手們常犯的十一個錯誤,需要的朋友可以參考學習。2017-03-03

