日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MemSQL初体验 - (2)初始化测试环境

發(fā)布時(shí)間:2024/8/26 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MemSQL初体验 - (2)初始化测试环境 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2、配置測(cè)試環(huán)境

? 創(chuàng)建一個(gè)用戶,方便后續(xù)使用:?
?

  • MemSQL> grant all on *.* to jss identified by "jss" ?with grant option;
    ? Query OK, 1 row affected (0.03 sec)
? 本來是可選的with grant option選項(xiàng)在MemSQL中是必選項(xiàng)。另外注意password在當(dāng)前的MemSQL版本中沒什么用,不管建什么用戶,指定密碼反倒進(jìn)不去,也不知道是不是BUG。

為了能夠與MySQL的性能做對(duì)比,這里我們采取與MySQL數(shù)據(jù)庫(kù)相同的對(duì)象結(jié)構(gòu)。?
? 建庫(kù)與建表:?
?

  • 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)

? 建庫(kù)建表語句與MySQL中一樣,只不過建表時(shí)沒有指定存儲(chǔ)引擎,因?yàn)镸emSQL畢竟不是MySQL,沒必要指定存儲(chǔ)引擎,即使指定了也沒啥用。?
? 從上面的結(jié)果看起來建表費(fèi)時(shí)不短啊,如果注意查看日志的話,會(huì)發(fā)現(xiàn)大部分時(shí)間都花在了編譯上:?
? INFO: Table jssdb.user compiled in 10757 miliseconds (5355 ?miliseconds for header)
? 真正的創(chuàng)建是很快的,因此把user表刪除再重新創(chuàng)建,效率就上去了,這也是前面所說的,第一次執(zhí)行很慢,因?yàn)樗幾g。

然后初始化一些數(shù)據(jù),這里也是為了更好的對(duì)比性能,直接使用MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)。也順道演示一下如何從MySQL庫(kù)中遷移數(shù)據(jù)到MemSQL中。我先概括一下,基本上,跟從MySQL->MySQL一樣。?
? 從MySQL數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù):?
?

  • $ mysqldump -ujss -pjss --tables jssdb user -t > tbls.sql

導(dǎo)入數(shù)據(jù),也是使mysql命令行導(dǎo)入:?
?

  • $ mysql -u root -h 127.0.0.1 -P 3308 --prompt="MemSQL> ?" jssdb < tbls.sql

? 做為一款新生軟件,盡管是主打與MySQL的高度兼容,但實(shí)際也不可能所有功能都完全兼容,就dump出的sql文件來說,其中就有不少語句是MemSQL不支持的,但是這也沒關(guān)系,它并不會(huì)中斷工作,只是會(huì)在后臺(tái)日志中拋出相應(yīng)的警告,類似這樣:?
?
  • 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

七十余萬條記錄,導(dǎo)入還是挺快的,執(zhí)行成功后,登錄到MemSQL中驗(yàn)證一下:?

  • MemSQL> select count(0) from user;
    ? +----------+
    ? | count(0) |
    ? +----------+
    ? |?? 765952 |
    ? +----------+
    ? 1 row in set (0.24 sec)

為了能夠?qū)Ρ刃阅?#xff0c;我這里使用perl寫了幾個(gè)簡(jiǎn)單的腳本,大致思路是并行多個(gè)線程執(zhí)行SQL語句,通過user_name列(該列有索引)查詢user表,user_name的值隨機(jī)生成。?
==========================================

總結(jié)

以上是生活随笔為你收集整理的MemSQL初体验 - (2)初始化测试环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。