使用Navicat生成MySQL測試數(shù)據(jù)全過程
使用Navicat生成MySQL測試數(shù)據(jù)
Navicat版本:16.1.3
場景:
因?yàn)槟承┰颍救素?fù)責(zé)項(xiàng)目的數(shù)據(jù)庫需要從MySQL遷移到PostgreSQL,所以就想測試一下PostgreSQL數(shù)據(jù)庫的分區(qū)表性能。
測性能的話大概需要兩千萬的測試數(shù)據(jù),從生產(chǎn)庫導(dǎo)出的話呢阿里云有限制,因?yàn)閿?shù)據(jù)庫實(shí)例是“自由模式”,每天只能免費(fèi)導(dǎo)出100W條,想要導(dǎo)出更多的話就得升級實(shí)例(得花錢,不可取)。又想到了可以寫腳本在服務(wù)器上去查詢數(shù)據(jù)然后導(dǎo)出成csv文件再下載到本地,但是這樣比較麻煩也就放棄了。
因?yàn)椴灰髷?shù)據(jù)非常的精確,所以就想到了自己造數(shù)據(jù)的方式,第一反應(yīng)當(dāng)然是通過存儲(chǔ)過程,但是呢對于存儲(chǔ)過程這種東西吧,只聽過,沒用過,所以也就不是很精通。
在查詢解決方案的過程中呢,就發(fā)現(xiàn)了Navicat數(shù)據(jù)生成工具,下面我來做一個(gè)詳細(xì)的介紹
1.配置測試數(shù)據(jù)庫
CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主鍵', `guid` varchar(255) CHARACTER SET gbk DEFAULT NULL COMMENT '隨機(jī)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ù)
點(diǎn)擊“數(shù)據(jù)生成”后,我們點(diǎn)擊表名可以設(shè)置數(shù)據(jù)的生成數(shù)量

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

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

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

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

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

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

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

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

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

