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