MemSQL初體驗 - (2)初始化測試環境
2、配置測試環境
建立一個使用者,方便後續使用:
- MemSQL> grant all on *.* to jss identified by "jss" with grant option;
Query OK, 1 row affected (0.03 sec)
為了能夠與MySQL的效能做對比,這裡我們採取與MySQL資料庫相同的物件結構。
建庫與建表:
- MemSQL> create database jssdb;
Query OK, 0 rows affected (0.21 sec)
MemSQL> use jssdb;
Database changed
MemSQL> CREATE TABLE user (
-> user_id INT(10) UNSIGNED NOT NULL auto_increment,
-> user_name VARCHAR(50) DEFAULT NULL,
-> user_email VARCHAR(255) DEFAULT NULL,
-> created DATETIME DEFAULT NULL,
-> PRIMARY KEY (user_id),
-> KEY ind_user_name (user_name))
-> auto_increment=1;
Query OK, 0 rows affected (10.79 sec)
從上面的結果看起來建表費時不短啊,如果注意檢視日誌的話,會發現大部分時間都花在了編譯上:
INFO: Table jssdb.user compiled in 10757 miliseconds (5355 miliseconds for header)
真正的建立是很快的,因此把user表刪除再重新建立,效率就上去了,這也是前面所說的,第一次執行很慢,因為它要編譯。
然後初始化一些資料,這裡也是為了更好的對比效能,直接使用MySQL資料庫中的資料。也順道演示一下如何從MySQL庫中遷移資料到MemSQL中。我先概括一下,基本上,跟從MySQL->MySQL一樣。
從MySQL資料庫中匯出資料:
- $ mysqldump -ujss -pjss --tables jssdb user -t > tbls.sql
匯入資料,也是使mysql命令列匯入:
- $ mysql -u root -h 127.0.0.1 -P 3308 --prompt="MemSQL> " jssdb < tbls.sql
做為一款新生軟體,儘管是主打與MySQL的高度相容,但實際也不可能所有功能都完全相容,就dump出的sql檔案來說,其中就有不少語句是MemSQL不支援的,但是這也沒關係,它並不會中斷工作,只是會在後臺日志中丟擲相應的警告,類似這樣:
- WARNING: WARN DISABLED LOCKDOWN: LOCK TABLES .. WRITE / LOCK TABLES .. LOW_PRIORITY WRITE / LOCK TABLES .. READ LOCAL
WARNING: WARN DISABLED LOCKDOWN: ALTER TABLE DISABLE KEYS
WARNING: WARN DISABLED LOCKDOWN: ALTER TABLE ENABLE KEYS
七十餘萬條記錄,匯入還是挺快的,執行成功後,登入到MemSQL中驗證一下:
- MemSQL> select count(0) from user;
+----------+
| count(0) |
+----------+
| 765952 |
+----------+
1 row in set (0.24 sec)
為了能夠對比效能,我這裡使用perl寫了幾個簡單的指令碼,大致思路是並行多個執行緒執行SQL語句,通過user_name列(該列有索引)查詢user表,user_name的值隨機生成。
==========================================
相關文章:
MemSQL初體驗 - (1)傳說中速度最快的關聯式資料庫軟體
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-733791/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MemSQL初體驗 - (3)效能測試SQL
- OceanBase初體驗之Docker快速部署試用環境Docker
- jacoco-1-java程式碼測試覆蓋率之本地環境初體驗Java
- 如何搭建良好的軟體測試環境?測試環境對軟體測試起到什麼作用?
- OCM實驗-測試環境的搭建
- 軟體測試--環境講解
- 軟體測試培訓:如何搭建測試環境
- 騰訊效能測試工具——PerfDog使用初體驗
- 軟體測試技術、方法和環境
- pytest核心測試平臺落地初體驗
- html初體驗#2HTML
- 想要軟體測試效果好,搭建好測試環境是前提
- Xcode配置測試環境和線上環境XCode
- 實驗室環境下測試千兆入侵檢測系統(轉)
- Rxjs初體驗:製作語音測試工具JS
- 測試平臺系列(74) 測試計劃定時執行初體驗
- 測試人員必看!!!軟體測試環境搭建有哪些原則?
- Oracle Stream實戰(2)—測試環境準備(一)Oracle
- kaldi環境搭建 | yesno 測試
- android測試環境搭建Android
- 快速體驗k8s叢集的測試、開發環境--allinone部署K8S開發環境None
- 用 Spring 區分開發環境、測試環境、生產環境Spring開發環境
- 【轉2】Appium 1.6.3 在Xcode 8 (真機)測試環境搭建 經驗總結APPXCode
- Kali Linux滲透測試實戰 1.2 環境安裝及初始化Linux
- vue2+vite初體驗VueVite
- webpack+react專案初體驗——記錄我的webpack環境配置WebReact
- 達夢6.0試用之測試環境搭建
- Fedora 上的桌面環境記憶體佔用測試記憶體
- 軟體測試軟環境的構建與優化優化
- Ubuntu環境初始化Ubuntu
- 如何在Java中做基準測試?JMH使用初體驗Java
- griffin環境搭建及功能測試
- 搭建自動化測試環境
- 自己營造ORACLE測試環境Oracle
- RAC環境網路故障測試
- oracle11gR2 RAC 環境測試修改節點VIP的測試操作記錄Oracle
- 《JMeter實戰》第二章 效能測試初體驗 摘錄JMeter
- 軟體測試的測試環境該怎麼搭建?聽聽卓碼軟體測評小編怎麼說