通常单天的日志 仅仅记录当天的日志信息,假设须要查看一月内的日志信息须要对每天的日志表结果集合进行拼接,通经常使用到 union . 储存过程: drop PROCEDURE if EXISTS unionSp; DELIMITER // create procedure unionSp(sTime varchar(32), eTime varchar(32),tchema varchar(32)) begin declare sqlVar varchar(1024000); declare r…
背景 从mysql.slow_log 获取慢查询日志很慢,该表是csv表,没有索引. 想添加索引来加速访问,而csv引擎不能添加索引(csv引擎存储是以逗号分割的文本来存储的),只能改存储引擎来添加索引了 MySQL 中日志表slow_log和general_log主要特点 日志表只能是CSV和MYISAM存储引擎 更改日志表的存储引擎必须先停止使用该日志表 日志表中的数据不记录binlog 锁表语句FTWRL和lock tables.read_only对日志表无效 用户不能对日志表进行DML操…
一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下: 日志表结构类型 tbl_ads_req_20140801, tbl_ads_req_20140802 ... DELIMITER //create procedure sp2()begindeclare sTime varchar(32);declare eTime varchar(32);declare sName varchar(128);declare lName…
之前开发的一个监控系统,数据库的日志表是单表,虽然现在数据还不大并且做了查询sql优化,不过以后数据库的日志表数据肯定会越来越庞大,将会导致查询缓慢,所以把日志表改成分表,日志表可以按时间做水平分表,我是按月分的,每个月一张表,这时候的问题是 数据库有多张同样的分表如何根据条件查询? 在进行分页的时候如何计算总记录数?如何查询出所有分表? 每个月的新表是如何创建?系统如何自动创建? 不确定哪个分表的情况如何查询某一条详细记录? 分表查询分表查询可以用union或者union all进行查询uni…
创建日志表sql: -- Create table create table PROCEDURE_LOG ( ID ) not null, NAME ), CODE NUMBER, MSG ), IN_DATE DATE ) tablespace CUSTINCOME pctfree initrans maxtrans ; -- Add comments to the table comment on table PROCEDURE_LOG is '存储过程日志表(测试用)'; -- Add c…
说明:此处为<高性能mysql(第二版)>中的示例代码,除了数据库名 其他未经更改.仅供学习及参考 对数据库的每个表执行优化的存储过程 CREATE PROCEDURE `inventory`.`optimize_table` (db_name VARCHAR(64)) BEGIN  DECLARE t VARCHAR(64);  DECLARE done INT DEFAULT 0;  DECLARE c CURSOR FOR   SELECT table_name FROM INFORMA…
表 表结构 索引 触发器 存储过程 函数 重新连接 出现Error Code: 2006 MySQL server has gone away时…
原文:MySQL中将数据库表名修改成大写的存储过程 MySQL中将数据库表名修改成大写的存储过程 创建存储过程的代码: DROP PROCEDURE IF EXISTS uppercaseTablenames; DELIMITER $ CREATE PROCEDURE uppercaseTablenames(IN dbname VARCHAR(200)) BEGIN DECLARE done INT DEFAULT 0; DECLARE oldname VARCHAR(200); DECLARE…
最近根据需求,需要提前创建一批日志表,以日期结尾,每天创建一张,例如XXX20160530,请参考如下: BEGIN    DECLARE `sName` VARCHAR(128);   DECLARE `sqlVar` VARCHAR(1024);  DECLARE `rest` INT;    set rest = 1; while rest > 0 do       set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),'%Y%…
表单查询 简单查询 SELECT语句 查询所有字段 指定所有字段:select 字段名1,字段名2,...from 表名; select * from 表名; 查询指定字段 select 字段名1,字段名2,...from 表名; 按条件查询 带关系运算符的查询 SELECT 字段名1,字段名2,…… FROM 表名 WHERE 条件表达式; 带IN关键字的查询 SELECT *|字段名1,字段名2,…… FROM 表名 WHERE 字段名 [NOT] IN (元素1,元素2,……); 带BET…