性能优化之测试数据准备

#创建表
create table base_dept(id int not null PRIMARY KEY AUTO_INCREMENT,dept_name varchar(50) not null,parent_dept int not null );
create table base_emp(id int not null PRIMARY KEY auto_increment,dept_id int not null,emp_name varchar(20) not null ,entry_date datetime not null,salary decimal(10,2),test_id bigint)

#插入部门数据
insert into base_dept(dept_name,parent_dept) values('董事会',0);
insert into base_dept(dept_name,parent_dept) values('总经理',1);
insert into base_dept(dept_name,parent_dept) values('副总经理',2);
insert into base_dept(dept_name,parent_dept) values('财务部',3);
insert into base_dept(dept_name,parent_dept) values('人力部',3);
insert into base_dept(dept_name,parent_dept) values('市场部',3);
insert into base_dept(dept_name,parent_dept) values('销售部',3);
insert into base_dept(dept_name,parent_dept) values('研发中心',3);
insert into base_dept(dept_name,parent_dept) values('质量部',3);
insert into base_dept(dept_name,parent_dept) values('生产一部',3);
insert into base_dept(dept_name,parent_dept) values('生产二部',3);


#删除存储过程

DROP PROCEDURE IF EXISTS rand_insert;

DELIMITER $$
#批量插入员工数据 存储过程
CREATE PROCEDURE `rand_insert`(n INT)  
BEGIN
    DECLARE i INT DEFAULT 0;
    WHILE i < n DO 
    insert into base_emp(dept_id,emp_name,entry_date,salary,test_id) values(floor(4+rand()*8),rand_string(floor(6+rand()*18)),concat(floor(1960+rand()*58),'-',floor(1+rand()*12),'-',floor(1+rand()*30),' 00:00:00'),round(5000+rand()*10000,2),floor(1+rand()*200000)
);
    SET i = i +1;
    END WHILE;
END;
$$
#调用批量存储过程插入程序
call rand_insert(3000000);

#查询表
select * from base_dept; 
select * from base_emp;



#创建随机数.20到60随机数
select floor(20+rand()*41);

#随机部门4-11
select floor(4+rand()*8);
#随机名称 6到24位
rand_string(floor(6+rand()*19)
#随机字符串生产,mysql定义方法

drop function  if exists rand_string;
DELIMITER $$
CREATE FUNCTION `rand_string`(n INT) RETURNS varchar(255) 
BEGIN
    DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    DECLARE return_str varchar(255) DEFAULT '';
    DECLARE i INT DEFAULT 0;
    WHILE i < n DO
        SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
        SET i = i +1;
    END WHILE;
    RETURN return_str;
END;
$$

#随机日期 1960-2017
select concat(floor(1960+rand()*58),'-',floor(1+rand()*12),'-',floor(1+rand()*30),' 00:00:00');

#随机double小数
select round(5000+rand()*10000,2)

select if(floor(1+rand()*12)>=10) a else concat('0',a))
#部门id随机数
#董事长1个 总经理2个 副总经理6 财务部5% 人力部5% 市场部8% 销售部8% 研发部9% 质量部10% 生产一部30% 生产二部20%
select count(dept_id=1) AS ds,count() from base_emp;

#插入一条随机生产的数据
insert into base_emp(dept_id,emp_name,entry_date,salary,test_id) values(
floor(4+rand()*8),rand_string(floor(6+rand()*18)),concat(floor(1960+rand()*58),'-',floor(1+rand()*12),'-',floor(1+rand()*30),' 00:00:00'),round(5000+rand()*10000,2),floor(1+rand()*200000)
);



#存储过程使用

drop PROCEDURE if exists create_dept_id;

DELIMITER 

create PROCEDURE create_dept_id(out deptId int)
begin
	select count(*) from base_emp;
end 

call create_dept_id(@deptId);



#删除存储过程

DROP PROCEDURE IF EXISTS proc_employee_getCount;
#创建存储过程
DELIMITER $$

CREATE PROCEDURE proc_employee_getCount(out n int)

BEGIN

     SELECT COUNT(*) FROM base_emp ;

END $$

DELIMITER;
#MYSQL调用存储过程

CALL proc_employee_getCount(@n);
select @n;

#6到18个字符串
select rand_string(floor(6+rand()*18));



基于SSM框架的智能家政保洁预约系统,是一个旨在提高家政保洁服务预约效率和管理水平的平台。该系统通过集成现代信息技术,为家政公司、家政服务人员和消费者提供了一个便捷的在线预约和管理系统。 系统的主要功能包括: 1. **用户管理**:允许消费者注册、登录,并管理他们的个人资料和预约历史。 2. **家政人员管理**:家政服务人员可以注册并更新自己的个人信息、服务类别和服务时间。 3. **服务预约**:消费者可以浏览不同的家政服务选项,选择合适的服务人员,并在线预约服务。 4. **订单管理**:系统支持订单的创建、跟踪和管理,包括订单的确认、完成和评价。 5. **评价系统**:消费者可以在家政服务完成后对服务进行评价,帮助提高服务质量和透明度。 6. **后台管理**:管理员可以管理用户、家政人员信息、服务类别、预约订单以及处理用户反馈。 系统采用Java语言开发,使用MySQL数据库进行数据存储,通过B/S架构实现用户与服务的在线交互。系统设计考虑了不同用户角色的需求,包括管理员、家政服务人员和普通用户,每个角色都有相应的权限和功能。此外,系统还采用了软件组件化、精化体系结构、分离逻辑和数据等方法,以便于未来的系统升级和维护。 智能家政保洁预约系统通过提供一个集中的平台,不仅方便了消费者的预约和管理,也为家政服务人员提供了一个展示和推广自己服务的机会。同时,系统的后台管理功能为家政公司提供了强大的数据支持和决策辅助,有助于提高服务质量和管理效率。该系统的设计与实现,标志着家政保洁服务向现代化和网络化的转型,为管理决策和控制提供保障,是行业发展中的重要里程碑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值