+ -
当前位置:首页 → 问答吧 → 这两句SQL运行效率有区别吗?

这两句SQL运行效率有区别吗?

时间:2011-10-31

来源:互联网

有10w条数据,数据结构如下:

CREATE TABLE IF NOT EXISTS `test` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`address_id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=100000;

1)
SELECT id, name FROM test WHERE id = 9999;
2)
SELECT id, name FROM test WHERE id = '9999';

这两句SQL,运行效率哪个更高?
自己测试过,花费的时间都是一样的,但总觉得应该是第一句效率更高些

作者: czhhua28   发布时间: 2011-10-31

`id` mediumint(8)

你的ID是这数字,因此,当然是 WHERE id = 9999;的效率会高,因为MYSQL不需要把 '9999' 转换为数字 9999


引用自己测试过,花费的时间都是一样的,但总觉得应该是第一句效率更高些
你是如何测试的? 测试验证一个结果,需要设计非常科学的测试方法。排除测试过程中所有其它因素的干扰。

作者: ACMAIN_CHM   发布时间: 2011-10-31

直接在mysql命令行里输入2行sql语句,看运行的时间

作者: czhhua28   发布时间: 2011-10-31

性能一样

作者: rucypli   发布时间: 2011-10-31

相关阅读 更多

热门下载

更多