Mysql 数据类型的效率问题

UPDATE table SET field = '123' WHERE id = '1' LIMIT 1;
  • 我的疑问是 WHERE id = '1' 这个问题,id这个字段是int型的,但是sql里我给的是字符型。这样会影响效率?

  • 希望有个例子能说明下。

阅读 3.3k
3 个回答

没有区别.图片描述

图片描述

补一句:如果id是主键,会随主键的创建自动创建索引。

它最终还是看得你表结构,id字段是int的,常数你加不加引号,对效率不影响的(内部会转换类型的)。

只是如果id字段本来是字符型且有索引,

里面有一个'1'值,select * from table where id=1;时,可能会不走索引,只有where id='1'才走索引。

首先,
1.SQL中支持单引号,用于表示字符串常量。
2.对于中文,必须加单引号,如:insert into mytable(username) values('张红');对于数字,不要加'';

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题