SQL Server数据库有完善的权限管理机制,对于存储过程,其权限分为查看定义,执行和修改,查看SP定义的权限是:VIEW DEFINITION ,执行存储过程的权限是:EXECUTE,修改SP的权限是:ALTER,但是该权限也能修改表结构,视图的定义等数据库对象.数据的读取权限是SELECT,这个查看定义是不同的权限.对于一个数据表,如果仅授予VIEW DEFINITION权限,而没有授予SELECT权限,那么用户只能查看数据表的结构(Schema),而无法查看表中存储的数据. 在管理权限时…
在其他RDBMS中,可以将查看某个存储过程(PROCEDURE)定义的权限给某个用户,例如在SQL Server中,可以单独将查看ProcedureName定义的权限授予UserA GRANT VIEW DEFINITION ON ProcedureName TO UserA; --用具体的存储过程名和账号替换 那么在MySQL中能否实现这个功能呢? 找了很多资料,没有看到有这方面的功能,官方文档没有涉及这样的权限,网上有个方法:可以通过授予用户查询mysql.proc这样的权限来间接实现这个功…
SQL的执行计划实际代表了目标SQL在Oracle数据库内部的具体执行步骤,作为调优,只有知道了优化器选择的执行计划是否为当前情形下最优的执行计划,才能够知道下一步往什么方向. 执行计划的定义:执行目标SQL的所有步骤的组合. 我们首先列出查看执行计划的一些常用方法: 1. explain plan命令 PL/SQL Developer中通过快捷键F5就可以查看目标SQL的执行计划了.但其实按下F5后,实际后台调用的就是explain plan命令,相当于封装了该命令. explain plan…
SQL Server将Job的信息存放在msdb中,Schema是dbo,表名以“sysjob”开头. 一,基础表 1, 查看Job和Step,Step_ID 是从1 开始的. select j.job_id,j.name,j.enabled,j.description, j.start_step_id,j.date_created,j.date_modified from msdb.dbo.sysjobs j with(nolock) where name =N'xxx' 2, 查看 特定jo…
1.PL/SQL解释计划窗口 优点:方面 缺点:看到信息有限 2.explain_plan for 针对某个句子优化较方便 3.sqlplus Sqlplus里输入命令: set autotrace on select * from emp; 数据显示出来后,跟着执行计划: 这个语句的优点就是它的缺点,这样在用该方法查看执行时间较长的sql语句时,需要等待该语句执行成功后,才返回执行计划,使优化的周期大大增长. 如果不想执行语句而只是想得到执行计划可以采用: set autotrace trac…
在介绍怎么查看MySQL执行计划前,我们先来看个后面会提到的名词解释: 覆盖索引: MySQL可以利用索引返回select列表中的字段,而不必根据索引再次读取数据文件 包含所有满足查询需要的数据的索引称为 覆盖索引(Covering Index) 如果要使用覆盖索引,一定要注意select列表中只取出需要的列,不可select *,因为如果将所有字段一起做索引会导致索引文件过大,查询性能下降 EXPLAIN查看执行计划的一些局限: EXPLAIN不会告诉你关于触发器.存储过程的信息或用户自定义函…
一用户进入某界面慢得要死,查看SQL执行计划如下(具体SQL语句就不完全公布了,截断的如下): call     count       cpu    elapsed       disk      query    current        rows ------- ------  -------- ---------- ---------- ---------- ----------  ---------- Parse        1      0.00       0.00     …
MSSQL优化之——查看语句执行情况 在写SQL语句时,必须知道语句的执行情况才能对此作出优化.了解SQL语句的执行情况是每个写程序的人必不可少缺的能力.下面是对查询语句执行情况的方法介绍. 一.设置STATISTICS STATISTICS选项有PROFILE,IO ,TIME. SET STATISTICS PROFILE ON:显示每个查询执行后的结果集,代表查询执行的配置文件. SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数.逻辑读取数(在高速缓存中访问的页数…
查看Oracle执行计划的几种方法 一.通过PL/SQL Dev工具 1.直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果.其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows. 2.先执行 EXPLAIN PLAN FOR   select * from tableA where paraA=1,再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle…
使用navicat查看mysql执行计划: 打开profile分析工具: 查看是否生效:show variable like ‘%profil%’; 查看进程:show processlist; 选择数据库:use db_jiakao; 全部分析的类型:show PROFILE all; 查看表索引:show index from user_member;##查看表索引 使用explain命令查看query语句的性能: EXPLAIN select * from user_feedback;##…