mysql ,innodb, 版本 5.1.73 , RR隔離級別
表結構如下:
表 news結構:
CREATE TABLE `news` (
`id` bigint(20) NOT NULL COMMENT 'id',
`number` bigint(20) NOT NULL COMMENT 'number',
`tmp` bigint(20) NOT NULL COMMENT 'tmp',
PRIMARY KEY (`id`),
KEY `number` (`number`),
KEY `tmp` (`tmp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='測驗';
insert into news(id,number,tmp) values(1,2,600);
insert into news(id,number,tmp) values(6,5,400);
insert into news(id,number,tmp) values(8,5,300);
insert into news(id,number,tmp) values(10,5,500);
insert into news(id,number,tmp) values(13,11,100);
資料A:

資料B:

資料B比資料A多了一條記錄,
insert into news(id,number,tmp) values(3,4,200);
但是執行這個sql的時候卻沒有使用索引
select * from news where number>2 for update;
請問是為什么呢?

uj5u.com熱心網友回復:
總共 6 條記錄, >2 的記錄多達 4 條,走索引不是多此一舉么?uj5u.com熱心網友回復:
>2 不走索引, <2 走了索引,這個已經說明問題了uj5u.com熱心網友回復:
u013266102lwjcarrot
結帖率:0%
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/116659.html
標籤:MySQL
