科技知識動態:MemSQL 入門體驗小記

導讀 跟大家講解下有關MemSQL 入門體驗小記,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說MemSQL 入門體驗小記,小編也收集到

跟大家講解下有關MemSQL 入門體驗小記,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說MemSQL 入門體驗小記,小編也收集到了有關MemSQL 入門體驗小記的相關資料,希望大家看到了會喜歡。

看到MemSQL 的介紹后,花了幾分鐘瀏覽網站,閱讀getting started并下載安裝啟動,在此小記。

1 看到MemSQL 的介紹后,花了幾分鐘瀏覽網站,閱讀getting started并下載安裝啟動,在此小記。

2 MemSQL

其宣傳Slogan 是 THE WORLD'S FASTEST DATABASE.YOUR DATA. ACCELERATED.

我們看到最多的中文介紹是 “由前Facebook工程師創辦的MemSQL,號稱世界上最快的分布式關系型數據庫,兼容MySQL但快30倍,能實現每秒150萬次事務。原理是僅用內存并將SQL預編譯為C++。”

MemSQL 入門體驗小記

3 如何開始?

- 點擊右上角的下載鏈接 ,它會要求你提供email等信息,提交后返回一個license key和下載鏈接,我們下載developer版的即可。

- 安裝

$ tar -xzf memsqlbin_amd64.tar.gz

$ cd memsqlbin

- 啟動

$ ./check_system

$ ./memsqld

注:

- check_system會告訴系統是否滿足需求,比如內核版本,OS版本,64位 等等

- 啟動的時候,要加 -u root,否則會報fatal錯誤;如果你已經有mysql在運行,那么可能需要更改默認啟動端口3306為其他端口,,比如 3307

./memsqld -u root --port 3307- 如果你的RAM沒有8G,啟動的時候會有警告,但可以忽略。

- 測試

$ mysql -u root -h 127.0.0.1 -P 3306 --prompt="memsql>"

注: 這里-h不要使用localhost,用 127.0.0.1

進入命令行后就是標準的mysql客戶端了。

memsql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| memsql |

+--------------------+

2 rows in set (0.00 sec)

建庫:

memsql> create database chris001;

Query OK, 0 rows affected (0.08 sec)

memsql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| memsql |

| chris001 |

+--------------------+

3 rows in set (0.00 sec)

建表:

memsql> use chris001;

Database changed

memsql>

memsql> create table tab001 (id int primary key, name varchar(100), memo varchar(200),num int);

Query OK, 0 rows affected (6.71 sec)

memsql>

memsql>

memsql> show tables;

+--------------------+

| Tables_in_chris001 |

+--------------------+

| tab001 |

+--------------------+

1 row in set (0.00 sec)

memsql> desc tab001;

+-------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+--------------+------+-----+---------+-------+

| id | int(11) | NO | PRI | NULL | |

| name | varchar(100) | YES | | NULL | |

| memo | varchar(200) | YES | | NULL | |

| num | int(11) | YES | | NULL | |

+-------+--------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

插入數據后查詢:

memsql> insert into tab001 values (1,'chris','xxx',100);

Query OK, 1 row affected (1.82 sec)

memsql>

memsql>

memsql> select * from tab001;

+----+-------+------+------+

| id | name | memo | num |

+----+-------+------+------+

| 1 | chris | xxx | 100 |

+----+-------+------+------+

1 row in set (0.71 sec)

memsql> select * from tab001;

+----+-------+------+------+

| id | name | memo | num |

+----+-------+------+------+

| 1 | chris | xxx | 100 |

+----+-------+------+------+

1 row in set (0.00 sec)

memsql> select * from tab001;

+----+-------+------+------+

| id | name | memo | num |

+----+-------+------+------+

| 1 | chris | xxx | 100 |

+----+-------+------+------+

1 row in set (0.00 sec)

memsql> select * from tab001;

+----+-------+------+------+

| id | name | memo | num |

+----+-------+------+------+

| 1 | chris | xxx | 100 |

+----+-------+------+------+

1 row in set (0.00 sec)

memsql> select count(0) from tab001;

+----------+

| count(0) |

+----------+

| 1 |

+----------+

1 row in set (0.63 sec)

memsql>

memsql> select count(0) from tab001;

+----------+

| count(0) |

+----------+

| 1 |

+----------+

1 row in set (0.00 sec)

memsql> select count(0) from tab001;

+----------+

| count(0) |

+----------+

| 1 |

+----------+

1 row in set (0.00 sec)

查詢的時候,服務端會打出日志:

136674795 2012-06-19 10:02:31 INFO: Table chris001.tab001 compiled in 6709 miliseconds (3185 miliseconds for header)

136678436 2012-06-19 10:02:31 INFO: Table chris001.tab001 row size 80 bytes (base overhead 32 bytes, column id 4 bytes, column name 12 bytes, column memo 12 bytes, column num 8 bytes)

186966810 2012-06-19 10:03:21 INFO: Query chris001.'insert into tab001 values (?,?,?,?)' compiled in 1825 miliseconds

194366714 2012-06-19 10:03:29 INFO: Query chris001.'select * from tab001' compiled in 712 miliseconds

283342115 2012-06-19 10:04:58 INFO: Query chris001.'select count(0) from tab001' compiled in 632 miliseconds

從以上測試我們看到,兩次查詢的首次和之后時間對比:

select * from tab001; (0.71 sec) (0.00 sec)

select count(0) from tab001; (0.63 sec) (0.00 sec)

從日志可以知道,首次查詢的耗時基本全都花在編譯上了 。

- 關閉

$ killall memsqld

4 總結

引用 MemSQL 網站的介紹

來源:php中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!