mysql 怎么定义变量

上周我的一个朋友正在学习 MySQL 数据库。
他发现,MySQL 中的变量定义只能在存储过程或函数内完成,而 Oracle 或 SQL Server 可以直接在 BEGIN/END 块内定义。
例如,v_index 被定义为一个名为:
的整型变量 声明 v_index INT;
然后他创建了一个名为 TestWhile 的存储过程,其中包含一个 while 循环来演示 v_index 变量的使用:
过程 TestWhile() 开始 INDEX v_index INT; 设置 v_index = 0; 当 v_index < 5 xss=clean> 执行此存储程序后,您可以看到 v_index 变量从 0 增加到 4 此过程在 MySQL Thin 上运行,需要 0.00 秒。
然而,它仍然会考虑如果跳出这个循环,v_index 的值会如何变化。
算了,你瞧。

mysql 变量设置问题

记得有一次,2 01 9 年的夏天,我和同事在公司茶室聊天。
当时我们正在讨论数据库优化问题。
我提到了MySQL中设置变量的重要性,特别是用户变量和全局变量的区别。
我随机拿起一个杯子,指出:“像这个杯子,如果我只往杯子里倒水,水只对这个杯子的使用者有效,这是一个用户变量。
但如果我往水槽里倒水,茶室里的每个人都可以使用它,那就是一个全局变量。

然后我突然想到,等等,还有一件事。
记得曾经在一个项目中,我们使用会话变量来控制数据库连接的超时时间,以便根据不同的用户需求进行调整。
但当时没有考虑到,如果用户频繁切换,可能会对数据库性能产生影响。

现在想想,就像生活中不同的工具一样,用户变量、会话变量和全局变量各有各​​的用途。
如果用在正确的地方,可以起到事半功倍的效果。
然而,在每种情况下,应该使用哪个变量取决于具体情况。