日期:2014-05-16 浏览次数:20790 次
内存表的也不是提高读性能的万能工具,在有些情况下,可能会比其实表类型的B-TREE更慢 CREATE TABLE `mem_test` (? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ?? ?? ?? ?`id` int(10) unsigned NOT NULL DEFAULT '0',? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? ? ?? ?? ?? ?`name` varchar(10) DEFAULT NULL,? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ?? ?? ?? ?`first` varchar(10) DEFAULT NULL,? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ?? ?? ?? ?PRIMARY KEY (`id`),? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? ? ?? ?? ?? ?KEY `NewIndex1` (`name`,`first`)? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ?? ?? ? ) ENGINE=MEMORY ; CREATE TABLE `innodb_test` (? ?? ?? ?? ?? ?? ? ? ?? ?? ?? ?? ?`id` int(10) unsigned NOT NULL DEFAULT '0', ? ?? ?? ?? ?? ?`name` varchar(10) DEFAULT NULL,? ?? ?? ?? ? ? ?? ?? ?? ?? ?`first` varchar(10) DEFAULT NULL,? ?? ?? ?? ? ? ?? ?? ?? ?? ?PRIMARY KEY (`id`),? ?? ?? ?? ?? ?? ?? ?? ??? ? ?? ?? ?? ?? ?KEY `NewIndex1` (`name`,`first`)? ?? ?? ?? ? ? ?? ?? ?? ? ) ENGINE=InnoDB; 如: 1:在= 或者<=> 情况下,飞快,但是在如< 或>情况下,他是不使用索引 mysql--root@localhost:17db 07:33:45>>explain select * from mem_test where id>3; +----+-------------+----------+------+---------------+------+---------+------+------+-------------+ | id | select_type | table? ? | type | possible_keys | key | key_len | ref | rows | Extra? ?? ? | +----+-------------+----------+------+---------------+------+---------+------+------+-------------+ | 1 | SIMPLE? ?? ?| mem_test | ALL | PRIMARY? ?? ? | NULL | NULL? ? | NULL |? ?15 | Using where | +----+-------------+----------+------+---------------+------+---------+------+------+-------------+ 1 row in set (0.00 sec) mysql--root@localhost:17db 07:33:49>>explain select * from innodb_test where id>3; +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------------+ | id | select_type | table? ?? ? | type | possible_keys | key? ???| key_len | ref | rows | Extra? ?? ? | +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------------+ | 1 | SIMPLE? ?? ?| innodb_test | range | PRIMARY? ?? ? | PRIMARY | 4? ?? ? | NULL |? ? 7 | Using where | +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------------+ 1 row in set (0.00 sec) 2:不能用在order by情况下来提高速度 mysql--root@localhost:17db 07:33:55>>explain select * from innodb_test order by id; +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------+ | id | select_type | table? ?? ? | type | possible_keys | key? ???| key_len | ref | rows | Extra | +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------+ | 1 | SIMPLE? ?? ?| innodb_test | index | NULL? ?? ?? ? | PRIMARY | 4? ?? ? | NULL |? ?15 |? ?? ? | +----+-------------+-------------+-------+---------------+---------+---------+------+------+-------+ 1 row in set (0.00 sec) mysql--root@localhost:17db 07:34:27>>explain select * from mem_test order by id; +----+-------------+----------+------+---------------+------+---------+------+------+----------------+ | id | select_type | table? ? | type | possible_keys | key | key_len | ref | rows | Extra? ?? ?? ? | +----+-------------+----------+------+---------------+------+---------+------+------+----------------+ | 1 | SIMPLE? ?? ?| mem_test | ALL | NULL? ?? ?? ?
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|