6.7.9使用用户自定义变量
用户自定义变量是一个用来存储内容的临时容量,在连接mysql的整个过程中都存在
可以使用=建议是:=
属性和限制:
在一个连接内有效,不能做连接间的通信
5.0前,大小写敏感,注意不同版本兼容性
使用自定义变量的查询,无法使用查询缓存
优化器可能把这些变量优化掉:代码不按预想出牌
赋值符合:=优先级非常低,表达式应使用明确的括号
赋值的顺序和时间点并不总是固定的,依赖于优化器的决定
不能在使用常量或标识符的地方使用自定义变量,如表名 列名 和limit子句中
如果使用连接池或持久化连接,自定义变量可能让看起来没有关系的代码发生交互(bug)
不能显示声明自定义变量的类型(动态类型),确定未定义变量的具体类型的时机在不同,可通赋值定类型
用处:详见book
优化排名语句()三变量:当前排名 前一排名 演员参演数量
避免重复查询刚刚更新的数据