成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL內(nèi)存表的弊端

數(shù)據(jù)庫 MySQL
MySQL內(nèi)存表不是提高讀性能的萬能工具,它也是有著一定的弊端的,下文就為您分析MySQL內(nèi)存表的不足,供您參考學(xué)習(xí)之用。

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

  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情況下來提高速度

  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-tree確可以利用索引的最左端來查找

  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ù)庫大小寫的問題討論

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

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

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

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2012-02-23 10:28:12

MySQL

2021-01-14 11:08:05

加密貨幣貨幣技術(shù)

2010-11-22 16:51:10

MySQL內(nèi)存表

2010-04-27 09:11:29

2014-03-10 10:22:40

JavaScriptJS弊端

2012-12-27 10:22:46

大數(shù)據(jù)

2023-11-12 11:56:28

Json格式弊端

2010-10-21 13:14:35

2012-10-15 09:33:52

PC瘦客戶機(jī)云計(jì)算

2010-10-15 14:47:37

Mysql Merge

2010-10-12 16:29:02

MySQL權(quán)限表

2010-10-15 16:10:08

Mysql表別名

2010-11-22 15:19:28

Mysql臨時(shí)表

2018-03-12 16:18:31

嵌入式開源

2010-03-16 14:04:44

智能交換機(jī)

2018-04-08 16:26:48

2010-11-22 16:40:00

MySQL事務(wù)表

2011-07-27 15:01:48

MySQL數(shù)據(jù)庫內(nèi)存表

2024-04-24 10:46:08

C++編程全局變量

2010-10-15 11:05:31

MYSQL查詢結(jié)果
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品免费视频一区 | 国产一区二区三区 | 亚洲毛片在线观看 | 黄 色 毛片免费 | 国产精品mv在线观看 | 日韩伦理一区二区 | 8x国产精品视频一区二区 | 天堂亚洲 | 国产在线一区二区三区 | 综合久久综合久久 | 久久国产亚洲精品 | 日韩一区二区在线播放 | 亚洲第一福利视频 | 日本一道本视频 | 在线视频亚洲 | 免费成人午夜 | 99re6在线视频 | 一区二区三区高清在线观看 | 久久久久久久久久久高潮一区二区 | 亚洲一区二区av | 在线播放中文字幕 | 一区日韩 | 麻豆av电影网 | 国产午夜精品一区二区三区嫩草 | 中文字幕成人av | 国产区精品在线观看 | 91精品一区二区三区久久久久久 | 中文字幕乱码视频32 | 久久夜视频 | 黄色网址在线免费观看 | 国产四区| av一区在线观看 | 美女日批免费视频 | 欧美成人a | 欧美日本韩国一区二区 | 欧美群妇大交群中文字幕 | 成人免费精品视频 | 亚洲免费在线观看av | 精品在线一区 | 在线看片国产精品 | 久久99国产精一区二区三区 |