查询类型转换
 
在mysql查询时最好不要发生类型转换,如把varchar转换成int
 
mysql> explain select * from user where name=1\G

 

 
//如果你确定name字段是整型就不要把它转化成字符串,不加单引号
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
         type: ALL
possible_keys: index_name_password
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 99727
        Extra: Using where
1 row in set (0.02 sec)


mysql> explain select * from user where name='1'\G

 

 
//如果你确定name字段是字符串就不要把它转化成整型,加单引号
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
         type: ref
possible_keys: index_name_password
          key: index_name_password
      key_len: 111
          ref: const
         rows: 1
        Extra: Using where
1 row in set (0.00 sec)