日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
MySQL內(nèi)存表的弊端

MySQL內(nèi)存表使我們經(jīng)常會(huì)用到的,但是 MySQL內(nèi)存表的也不是提高讀性能的***工具,在有些情況下,MySQL內(nèi)存表可能會(huì)比其實(shí)表類型的B-TREE更慢。

創(chuàng)新互聯(lián)公司2013年開(kāi)創(chuàng)至今,先為比如等服務(wù)建站,比如等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為比如企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

 
 
 
  1. CREATE TABLE `mem_test` (                                                               
  2.             `id` int(10) unsigned NOT NULL DEFAULT '0',                                           
  3.             `name` varchar(10) DEFAULT NULL,                                                      
  4.             `first` varchar(10) DEFAULT NULL,                                                     
  5.             PRIMARY KEY (`id`),                                                                   
  6.             KEY `NewIndex1` (`name`,`first`)                                                      
  7.           ) ENGINE=MEMORY ;  
  8.  
  9. CREATE TABLE `innodb_test` (                     
  10.                `id` int(10) unsigned NOT NULL DEFAULT '0',   
  11.                `name` varchar(10) DEFAULT NULL,               
  12.                `first` varchar(10) DEFAULT NULL,              
  13.                PRIMARY KEY (`id`),                            
  14.                KEY `NewIndex1` (`name`,`first`)               
  15.              ) ENGINE=InnoDB;  
  16.  

如:
1:在= 或者<=> 情況下,飛快,但是在如< 或>情況下,他是不使用索引

 
 
 
  1. mysql--root@localhost:17db 07:33:45>>explain select * from mem_test where id>3;  
  2. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  3. | id | select_type | table    | type | possible_keys | key | key_len | ref | rows | Extra       |  
  4. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  5. | 1 | SIMPLE      | mem_test | ALL | PRIMARY       | NULL | NULL    | NULL |   15 | Using where |  
  6. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  7. 1 row in set (0.00 sec)  
  8.  
  9. mysql--root@localhost:17db 07:33:49>>explain select * from innodb_test where id>3;  
  10. +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------------+  
  11. | id | select_type | table       | type | possible_keys | key     | key_len | ref | rows | Extra       |  
  12. +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------------+  
  13. | 1 | SIMPLE      | innodb_test | range | PRIMARY       | PRIMARY | 4       | NULL |    7 | Using where |  
  14. +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------------+  
  15. 1 row in set (0.00 sec)  
  16.  

2:不能用在order by情況下來(lái)提高速度

 
 
 
  1. mysql--root@localhost:17db 07:33:55>>explain select * from innodb_test order by id;  
  2. +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------+  
  3. | id | select_type | table       | type | possible_keys | key     | key_len | ref | rows | Extra |  
  4. +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------+  
  5. | 1 | SIMPLE      | innodb_test | index | NULL          | PRIMARY | 4       | NULL |   15 |       |  
  6. +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------+  
  7. 1 row in set (0.00 sec)  
  8.  
  9. mysql--root@localhost:17db 07:34:27>>explain select * from mem_test order by id;  
  10. +----+-------------+----------+------+---------------+------+---------+------+------+----------------+  
  11. | id | select_type | table    | type | possible_keys | key | key_len | ref | rows | Extra          |  
  12. +----+-------------+----------+------+---------------+------+---------+------+------+----------------+  
  13. | 1 | SIMPLE      | mem_test | ALL | NULL          | NULL | NULL    | NULL |   15 | Using filesort |  
  14. +----+-------------+----------+------+---------------+------+---------+------+------+----------------+  
  15. 1 row in set (0.00 sec)  
  16.  

3:不能確定倆值之間有多少行

 
 
 
  1. mysql--root@localhost:17db 07:37:14>>explain select count(1) from mem_test where id>3 and id<6;  
  2. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  3. | id | select_type | table    | type | possible_keys | key | key_len | ref | rows | Extra       |  
  4. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  5. | 1 | SIMPLE      | mem_test | ALL | PRIMARY       | NULL | NULL    | NULL |   20 | Using where |  
  6. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  7. 1 row in set (0.00 sec)  
  8.  
  9. mysql--root@localhost:17db 07:40:35>>explain select count(1) from innodb_test where id>3 and id<6;  
  10. +----+-------------+-------------+-------+---------------+---------+---------+------+------+--------------------------+  
  11. | id | select_type | table       | type | possible_keys | key     | key_len | ref | rows | Extra                    |  
  12. +----+-------------+-------------+-------+---------------+---------+---------+------+------+--------------------------+  
  13. | 1 | SIMPLE      | innodb_test | range | PRIMARY       | PRIMARY | 4       | NULL |    1 | Using where; Using index |  
  14. +----+-------------+-------------+-------+---------------+---------+---------+------+------+--------------------------+  
  15. 1 row in set (0.00 sec)  
  16.  

4:在多列索引的情況下,只有全部指定才能利用hash掃描,而B(niǎo)-tree確可以利用索引的最左端來(lái)查找

 
 
 
  1. mysql--root@localhost:17db 07:37:07>>explain select * from innodb_test where name='b';  
  2. +----+-------------+-------------+------+---------------+-----------+---------+-------+------+--------------------------+  
  3. | id | select_type | table       | type | possible_keys | key       | key_len | ref   | rows | Extra                    |  
  4. +----+-------------+-------------+------+---------------+-----------+---------+-------+------+--------------------------+  
  5. | 1 | SIMPLE      | innodb_test | ref | NewIndex1     | NewIndex1 | 33      | const |    8 | Using where; Using index |  
  6. +----+-------------+-------------+------+---------------+-----------+---------+-------+------+--------------------------+  
  7. 1 row in set (0.00 sec)  
  8.  
  9. mysql--root@localhost:17db 07:37:10>>explain select * from mem_test where name='b';  
  10. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  11. | id | select_type | table    | type | possible_keys | key | key_len | ref | rows | Extra       |  
  12. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  13. | 1 | SIMPLE      | mem_test | ALL | NewIndex1     | NULL | NULL    | NULL |   20 | Using where |  
  14. +----+-------------+----------+------+---------------+------+---------+------+------+-------------+  
  15.  

當(dāng)然內(nèi)存表也可以手動(dòng)添加btree

 
 
 
  1. CREATE INDEX BTREE_index USING BTREE on mem_test(name,first)  
  2. mysql--root@localhost:17db 03:36:41>>explain select * from mem_test where name='b';  
  3. +----+-------------+----------+------+-----------------------+-------------+---------+-------+------+-------------+  
  4. | id | select_type | table    | type | possible_keys         | key         | key_len | ref   | rows | Extra       |  
  5. +----+-------------+----------+------+-----------------------+-------------+---------+-------+------+-------------+  
  6. | 1 | SIMPLE      | mem_test | ref | NewIndex1,BTREE_index | BTREE_index | 33      | const |    9 | Using where |  
  7. +----+-------------+----------+------+-----------------------+-------------+---------+-------+------+-------------+  
  8. 1 row in set (0.00 sec)  

哈哈,它也用到索引了。
所以要選擇合適的存儲(chǔ)引擎至關(guān)重要。

【編輯推薦】

MySQL獨(dú)立表空間的優(yōu)缺點(diǎn)

mysql數(shù)據(jù)庫(kù)大小寫(xiě)的問(wèn)題討論

MySQL MyISAM表結(jié)構(gòu)的恢復(fù)

MySQL InnoDB表結(jié)構(gòu)的恢復(fù)

深度解析MySQL創(chuàng)建關(guān)聯(lián)表


文章名稱:MySQL內(nèi)存表的弊端
文章位置:http://www.dlmjj.cn/article/dphooij.html