mysql 元组_在mysql中使用元组比较是否有效?

我有一张书桌:

CREATE TABLE `books` (

`id` INT(11) NOT NULL AUTO_INCREMENT,

`nameOfBook` VARCHAR(32),

`releaseDate` DATETIME NULL DEFAULT NULL,

PRIMARY KEY (`id`),

INDEX `Index 2` (`releaseDate`, `id`)

)

COLLATE='latin1_swedish_ci'

ENGINE=InnoDB

AUTO_INCREMENT = 33029692;

我将两个SQL请求与releaseDate上的sort进行了比较.这两个请求都返回相同的结果.

(简单的一个)

select SQL_NO_CACHE id,name, releaseDate

from books

where releaseDate <= '2016-11-07'

AND (releaseDate

ORDER by releaseDate DESC, id DESC limit 50;

(元组比较或行比较)

select SQL_NO_CACHE id,name, releaseDate

from books

where (releaseDate ,id) < ('2016-11-07',3338191)

ORDER by releaseDate DESC, id DESC limit 50;

当我解释请求时,我得到了这个

简单的一个:

"id";"select_type";"table";"type";"possible_keys";"key";"key_len";"ref";"rows";"Extra"

"1";"SIMPLE";"books";"range";"PRIMARY,Index 2";"Index 2";"9";"";"1015876";"Using where; Using index"

我们可以看到它正在解析行的“1015876”

元组比较的解释:

"id";"select_type";"table";"type";"possible_keys";"key";"key_len";"ref";"rows";"Extra"

"1";"SIMPLE";"books";"index";"";"Index 2";"13";"";"50";"Using where; Using index"

我们可以看到它正在解析“50”行.

但是,如果我检查了exectution时间,那么简单的一个:

* Affected rows: 0 Lignes trouvées: 50 Avertissements: 0 Durée pour 1 query: 0,031 sec. */

和元组一:

/* Affected rows: 0 Lignes trouvées: 50 Avertissements: 0 Durée pour 1 query: 3,682 sec. */

我不明白为什么根据解释,元组比较更好但执行时间差得多?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值