比如一个表,列 id 的类型是 int 但是 sql 语句
select * from table where id="10";
运行没问题 但是这样的语句相比 select * from table where id=10;
会有何种问题?
比如一个表,列 id 的类型是 int 但是 sql 语句
select * from table where id="10";
运行没问题 但是这样的语句相比 select * from table where id=10;
会有何种问题?
1
yejinmo Jul 2, 2017
不负责猜测会有性能问题
坐等楼下大佬详解 |
2
ihuotui Jul 2, 2017 via iPhone
隐式转换自己看文档
|
3
ihuotui Jul 3, 2017 via iPhone @yejinmo 性能问题可以在高性能 mysql 一书提到,而且要考虑有没有索引,索引会失效,然后 mysql 要计算一次也是性能消耗
|
4
ghos Jul 3, 2017
mysql 会把字符串转成 int 类型,有时候会导致索引失效
|
5
2xShake Jul 3, 2017
之前阿里云的 rds 提供的查询优化方案中, 有说如果数据库是字符串类型的请加 [“ ”] 双引号,不是则不需要咯。肯定跟性能有关系。
|