mysql怎么样定义变量 mysql 设置变量( 三 )


thread_stack
每个线程的栈大小 。由crash-me测试检测到的许多限制依赖于该值 。缺省队一般的操作是足够大了 。见10.8使用你自己的基准 。
wait_timeout
服务器在关闭它之前在一个连接上等待行动的秒数 。也可见interactive_timeout 。
MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能 。
如果你有很多内存和很多表并且有一个中等数量的客户,想要最大的性能,你应该一些象这样的东西:
shellsafe_mysqld-Okey_buffer=16M-Otable_cache=128
?????-Osort_buffer=4M-Orecord_buffer=1M
如果你有较少的内存和大量的连接,使用这样一些东西:
shellsafe_mysqld-Okey_buffer=512k-Osort_buffer=100k
?????-Orecord_buffer=100k
或甚至:
shellsafe_mysqld-Okey_buffer=512k-Osort_buffer=16k
?????-Otable_cache=32-Orecord_buffer=8k-Onet_buffer=1K
如果有很多连接,“交换问题”可能发生 , 除非mysqld已经被配置每个连接使用很少的内存 。当然如果你对所有连接有足够的内存 , mysqld执行得更好 。
注意 , 如果你改变mysqld的一个选项,它实际上只对服务器的那个例子保持 。
为了明白一个参数变化的效果,这样做:
shellmysqld-Okey_buffer=32m--help
保证--help选项是最后一个;否则,命令行上在它之后列出的任何选项的效果将不在反映在输出中 。
mysql怎么定义变量?下面是一个简单mysql怎么样定义变量的 存储过程mysql怎么样定义变量的例子.
DECLARE v_index INT;
定义一个 名称为v_index的变量, 类型为INT
MYSQL 变量定义应该只能在 存储过程, 函数里面定义.
不像 Oracle / SQL Server mysql怎么样定义变量,一个 BEGIN / END 里面就可以定义/执行mysql怎么样定义变量了 。
mysql DELIMITER //
mysql CREATE PROCEDURE TestWhile()
- BEGIN
-DECLARE v_index INT;
-
-SET v_index = 0;
-
-WHILE v_index5 DO
-SET v_index = v_index + 1;
-SELECT v_index;
-END WHILE;
-
- END//
Query OK, 0 rows affected (0.00 sec)
mysql 存储过程中变量的定义与赋值操作一、变量的定义
mysql中变量定义用declare来定义一局部变量mysql怎么样定义变量,该变量的使用范围只能在begin...end
块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要 , 可以使用default赋默认值 。
定义一个变量语法如下:
declare
var_name[,...]
type[default
value]看一个变量定义实例
declare
last
date;二、mysql存储过程变量赋值
变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下
复制代码
代码如下:
set
var_name=
[,var_name
expr]...给上面的last变量赋值方法如下
set
last
=
date_sub(
current_date(),interval
1
month);下面看通过查询给变量赋值,要求查询返回的结果必须为一行,具体操作如下
select
col
into
var_name[,...]
table_expr我们来通过查询给v_pay赋值 。
create
function
get
_cost(p_custid
int,p_eff
datetime)
return
decimal(5,2)
deterministic
reads
sql
data
begin
declare
v_pay
decimail(5,2);
select
ifnull(
sum(pay.amount),0)
into
vpay
from
payment
where
pay.payd=p_eff
and
pay.custid=pid
reutrn
v_rent
+
v_over

推荐阅读