mysql頁面瀏覽記錄表設計

2021-10-25 01:43:40 字數 2529 閱讀 8780

-- 頁面瀏覽記錄表

create table browsing_record (

id int(11) unsigned not null auto_increment,

user_id varchar(32) not null default '' comment '請求使用者id',

user_name varchar(200) not null default '' comment '請求使用者',

ip varchar(64) not null default '' comment '請求ip位址',

operation_level int(1) not null default 0 comment '操作等級0-正常,1-告警,2-危險,預設0',

browse_module varchar(4096) not null default '' comment '瀏覽模組',

operation_action varchar(4096) not null default '' comment '操作動作',

page_url varchar(4096) not null default '' comment '請求url',

operation_result varchar(4096) not null default '' comment '操作結果',

operation_time timestamp not null default current_timestamp comment '請求時間',

request_code varchar(64) not null default '' comment '詳情',

remarks varchar(4096) not null default '' comment '備註',

primary key (id)

) engine=innodb default charset=utf8;

-- 頁面資訊詳細表

create table request_details (

request_code varchar(64) not null default '',

req_details text not null default '' comment '請求詳情',

operation_time timestamp not null default current_timestamp comment '請求時間',

resp_details text not null default '' comment '請求詳情',

resp_time timestamp not null default current_timestamp comment '響應時間',

created_time timestamp null default current_timestamp,

primary key (request_code)

) engine=innodb default charset=utf8;

-- 唯一索引

alter table request_details add unique (request_code);

create table browsing_record_history like browsing_record;

create table request_details_history like request_details;

-- 2 新建儲存過程,查詢30天的資料並歸檔進新資料庫,然後把30天前的舊資料從舊表裡刪除

delimiter $

drop procedure if exists sp_brh_rdh$

create procedure sp_brh_rdh()

begin

insert into browsing_record_history select * from browsing_record where operation_time < now() - interval 30 day;

delete from browsing_record where operation_time < now() - interval 30 day;

insert into request_details_history select * from request_details where operation_time < now() - interval 30 day;

delete from request_details where operation_time < now() - interval 30 day;

end $

delimiter ;

-- 3 建立event,每30天晚上凌晨00:00定時執行上面的儲存過程

create event if not exists event_temp

on schedule every 30 day

on completion preserve

do call sp_brh_rdh();

mysql設計表月份 mysql,表設計

閒著沒事搞了一下,歡迎指教。使用者表 create table usr uid int 11 not null,name char 10 default null,primary key uid engine innodb default charset utf8 吃飯記錄表 create tabl...

mysql表的設計 mysql,表設計

閒著沒事搞了一下,歡迎指教。使用者表 create table usr uid int 11 not null,name char 10 default null,primary key uid engine innodb default charset utf8 吃飯記錄表 create tabl...

mysql豎向表設計 mysql,表設計

閒著沒事搞了一下,歡迎指教。使用者表 create table usr uid int 11 not null,name char 10 default null,primary key uid engine innodb default charset utf8 吃飯記錄表 create tabl...