1.新建訪問量資訊表
##建立表checkdbstatuscreate table `tbcheckdbstatus` (
`check_id`
int(10) unsigned not null auto_increment,
`time` datetime not null default '0000-00-00 00:00:00',
`com_select`
int(10) unsigned default null,
`com_insert`
int(10) unsigned default null,
`com_update`
int(10) unsigned default null,
`com_delete`
int(10) unsigned default null,
primary key (`check_id`)
) engine=myisam default charset=latin1;
2.新建儲存過程
--建立乙個儲存過來用來監控mysql的select、insert、update、delete使用情況。## 建立儲存過程pcheckdbstatus1()
drop procedure
ifexists pcheckdbstatus1;
delimiter
//create procedure pcheckdbstatus1()
begin
select @com_delete:=variable_value from information_schema.global_status where variable_name='com_delete';
select @com_insert:=variable_value from information_schema.global_status where variable_name='com_insert';
select @com_select:=variable_value from information_schema.global_status where variable_name='com_select';
select @com_update:=variable_value from information_schema.global_status where variable_name='com_update';
select sleep(1);
select @com_delete1:=variable_value from information_schema.global_status where variable_name='com_delete';
select @com_insert1:=variable_value from information_schema.global_status where variable_name='com_insert';
select @com_select1:=variable_value from information_schema.global_status where variable_name='com_select';
select @com_update1:=variable_value from information_schema.global_status where variable_name='com_update';
insert into tbcheckdbstatus values (null,now(), @com_select1-@com_select,@com_insert1-@com_insert,@com_update1-@com_update,@com_delete1-@com_delete );
end;
//delimiter ;
3.建立定時任務執行儲存過程
--mysql相容問題處理-- set global group_concat_max_len=102400;-- show variables like '%show_compatibility_56%';
-- set global show_compatibility_56=on;
-- 設定group_concategroup_concat
-- set session group_concat_max_len=102400;
--查詢定時任務是否開啟-- show variables like '%sche%';
-- set global event_scheduler=1;
--定時任務 每隔59秒執行一次
create event
ifnot exists e_test
on schedule every 59second
on completion preserve
do call pcheckdbstatus1();
4.資料定時清理
## 建立儲存過程pcleardbstatus1drop procedure
ifexists pcleardbstatus1;
delimiter
//create procedure pcleardbstatus1()
begin
delete from tbcheckdbstatus where unix_timestamp(now())-unix_timestamp(time)>86400;
end;
//delimiter ;
--定時任務 每天執行一次
create event
ifnot exists e_test2
on schedule every 1 day starts '2021-03-11 17:30:00'on completion preserve
do call pcleardbstatus1();
5. 相關知識
-- 查詢資料庫增刪改查次數-- 查詢事件(定時任務)show global status where variable_name in('com_select','com_insert','com_delete','com_update') ;
--查詢所有的儲存過程:
select name from mysql.proc where db='資料庫名';
--查詢某個儲存過程:
show create procedure 儲存過程名;
select * from information_schema.events;
-- 臨時關閉事件(定時任務)
alter event e_test disable;
-- 開啟事件(定時任務)
alter event e_test enable;-- 刪除事件(定時任務)
drop event [if exists] event_name
例:drop event e_test;
資料庫定時任務配置
--查詢資料庫是否開啟定時任務show variables like '%event_scheduler%';
--開啟定時任務
--語句方式(當前啟動的例項有效,重啟後無效)
set global event_scheduler=1;
--或配置my.cnf(windows下是my.ini)下新增如下選項(重啟後有效)
[mysqld]
event_scheduler=on
參考資料 儲存過程 、定時任務
2 0中獲取資料庫連線統計資料
import namespace system.data import namespace system.data.sqlclient page language c script runat server void page load object sender,eventargs e scrip...
資料庫 儲存過程
儲存過程,stored procedure,是在大型資料庫系統中,一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。模擬於c中的函式。mysql與sqlserver是不同的。建立儲存過程 conn getconnec...
資料庫 儲存過程
在資料庫中,儲存過程屬於一種物件,是一種高效的安全的訪問資料庫的方法。下邊我們就資料庫中的儲存過程總結它的相關知識點。我們分為概述,實現和管理三個方面來總結。一,儲存過程的概述 1,概念 儲存過程 storedprocedure 是在資料庫伺服器端執行的一組t sql語句的集合,經編譯後存放在資料庫...