mysql使用左外连的时候explan是不是第一个表的type始终是all

mysql使用左外连的时候explan是不是第一个表的type始终是all,第1张

simple:没使用查询没联合查询

table:懂

type:

联合查询所使用类型type显示访问类型较重要指标结值坏依:

system >const >eq_ref >ref >fulltext >ref_or_null >index_merge >unique_subquery >index_subquery >range >index >ALL

possible_keys:

指MySQL能使用哪索引该表找行空没相关索引要提高性能通检验WHERE句看否引用某些字段或者检查字段适合索引

key:

显示MySQL实际决定使用键没索引选择键NULL

key_len:

显示MySQL决定使用键度键NULL度NULL文档提示特别注意值重主键mysql实际使用哪部

ref:

显示哪字段或数与key起使用

rows:

数表示mysql要遍历少数据才能找innodb准确

Extra:

Only index意味着信息用索引树信息检索比扫描整表要快

where used使用where限制

impossible where 表示用着where般没查啥

信息显示Using filesort或者Using temporary吃力WHEREORDER BY索引经兼顾按照WHERE确定索引ORDER BY必引起Using filesort要看先滤再排序划算先排序再滤划算

mysql>delimiter //

这个作用是把;变成//,以后的语句遇到//就结束了,遇到;不结束,下面就可以按你的想法写了

mysql>CREATE PROCEDURE simpleproc (OUT param1 INT)

->BEGIN

-> SELECT COUNT(*) INTO param1 FROM t

->END

->//

Query OK, 0 rows affected (0.00 sec)

mysql>delimiter 这里把双引号改回来

声明参数要在说明是 输入还是输出函数 in\out

给函数变量赋值用

set @a=10

例子:

drop procedure if exists pr_param_in

create procedure pr_param_in

(

in id int -- in 类型的 MySQL 存储过程参数

)

begin

if (id is not null) then

set id = id + 1

end if

select id as id_inner

end

set @id = 10

call pr_param_in(@id)

select @id as id_out

mysql>call pr_param_in(@id)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7273557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存