Mysql 数据类型的效率问题
程序员文章站
2024-01-06 11:23:10
...
UPDATE table SET field = '123' WHERE id = '1' LIMIT 1;
我的疑问是 WHERE id = '1' 这个问题,id这个字段是int型的,但是sql里我给的是字符型。这样会影响效率?
希望有个例子能说明下。
回复内容:
UPDATE table SET field = '123' WHERE id = '1' LIMIT 1;
我的疑问是 WHERE id = '1' 这个问题,id这个字段是int型的,但是sql里我给的是字符型。这样会影响效率?
希望有个例子能说明下。
没有区别.
补一句:如果id是主键,会随主键的创建自动创建索引。
它最终还是看得你表结构,id字段是int的,常数你加不加引号,对效率不影响的(内部会转换类型的)。
只是如果id字段本来是字符型且有索引,
里面有一个'1'值,select * from table where id=1;时,可能会不走索引,只有where id='1'才走索引。
首先,
1.SQL中支持单引号,用于表示字符串常量。
2.对于中文,必须加单引号,如:insert into mytable(username) values('张红');对于数字,不要加'';