
比如一个表,列 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 @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 提供的查询优化方案中, 有说如果数据库是字符串类型的请加 [“ ”] 双引号,不是则不需要咯。肯定跟性能有关系。 |