亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL innodb和myisam 使用主鍵排序的疑問?

MySQL innodb和myisam 使用主鍵排序的疑問?

卡卡小獅子 2018-07-12 23:38:49
rental表的存儲引擎是innodb, rental_myisam表的存儲引擎是myisam。兩張表除存儲引擎不同外,表結構都一樣。CREATE?TABLE?`rental`?( ??`rental_id`?int(11)?NOT?NULL?AUTO_INCREMENT, ??`rental_date`?datetime?NOT?NULL, ??`inventory_id`?mediumint(8)?unsigned?NOT?NULL, ??`customer_id`?smallint(5)?unsigned?NOT?NULL, ??`return_date`?datetime?DEFAULT?NULL, ??`staff_id`?tinyint(3)?unsigned?NOT?NULL, ??`last_update`?timestamp?NOT?NULL?DEFAULT?CURRENT_TIMESTAMP?ON?UPDATE?CURRENT_TIMESTAMP, ??PRIMARY?KEY?(`rental_id`), ??KEY?`rental_date`?(`rental_date`,`inventory_id`,`customer_id`) )?ENGINE=innodb?DEFAULT?CHARSET=utf8; CREATE?TABLE?`rental_myisam`?( ??`rental_id`?int(11)?NOT?NULL?AUTO_INCREMENT, ??`rental_date`?datetime?NOT?NULL, ??`inventory_id`?mediumint(8)?unsigned?NOT?NULL, ??`customer_id`?smallint(5)?unsigned?NOT?NULL, ??`return_date`?datetime?DEFAULT?NULL, ??`staff_id`?tinyint(3)?unsigned?NOT?NULL, ??`last_update`?timestamp?NOT?NULL?DEFAULT?CURRENT_TIMESTAMP?ON?UPDATE?CURRENT_TIMESTAMP, ??PRIMARY?KEY?(`rental_id`), ??KEY?`rental_date`?(`rental_date`,`inventory_id`,`customer_id`) )?ENGINE=MyISAM?DEFAULT?CHARSET=utf8;使用explain分析,發現?rental表?使用了主鍵索引排序,而?rental_myisam表?卻并沒有用到主鍵索引排序,反而extra里用到"文件排序",不太懂為啥會是這樣的區別?explain select * from rental where return_date > '2005-08-30' order by rental_idGexplain select * from rental_myisam where rental_date > '2005-01-01' order by rental_id\G
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 984 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號