表一:
| data_shift | CREATE TABLE `data_shift` (
`id` varchar(32) NOT NULL,(UUID)
`username` varchar(32) DEFAULT NULL,(登陆人姓名)
`logintime` varchar(20) DEFAULT NULL,上班时间
`logouttime` varchar(20) DEFAULT NULL,下班时间
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |表二:
| data_inout | CREATE TABLE `data_inout` (
`id` varchar(32) NOT NULL,
`carid` varchar(32) DEFAULT NULL,
`cartypeid` int(4) DEFAULT NULL,
`timesflag` int(4) DEFAULT NULL,
`in_channel` varchar(32) DEFAULT NULL,
`in_time` varchar(20) DEFAULT NULL,
`in_operator` varchar(32) DEFAULT NULL,
`in_jpg1` varchar(50) DEFAULT NULL,
`in_jpg2` varchar(50) DEFAULT NULL,
`in_re` varchar(50) DEFAULT NULL COMMENT
`out_channel` varchar(32) DEFAULT NULL,
`out_time` varchar(20) DEFAULT NULL,
`out_operator` varchar(32) DEFAULT NULL,出口操作员
`out_jpg1` varchar(50) DEFAULT NULL,
`out_jpg2` varchar(50) DEFAULT NULL,
`stoptime` int(4) DEFAULT NULL,
`moneying` int(4) DEFAULT NULL,应收金额
`moneyed` int(4) DEFAULT NULL,实收金额
`re` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
现在要查询出来的结果为:姓名,上班时间,下班时间,应收金额,实收金额。我想问的是此2张表如何建索引才能达到最佳查询效果。如果有大神认为表结构有问题,那么应该如何优化,分不多,请谅解。
| data_shift | CREATE TABLE `data_shift` (
`id` varchar(32) NOT NULL,(UUID)
`username` varchar(32) DEFAULT NULL,(登陆人姓名)
`logintime` varchar(20) DEFAULT NULL,上班时间
`logouttime` varchar(20) DEFAULT NULL,下班时间
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |表二:
| data_inout | CREATE TABLE `data_inout` (
`id` varchar(32) NOT NULL,
`carid` varchar(32) DEFAULT NULL,
`cartypeid` int(4) DEFAULT NULL,
`timesflag` int(4) DEFAULT NULL,
`in_channel` varchar(32) DEFAULT NULL,
`in_time` varchar(20) DEFAULT NULL,
`in_operator` varchar(32) DEFAULT NULL,
`in_jpg1` varchar(50) DEFAULT NULL,
`in_jpg2` varchar(50) DEFAULT NULL,
`in_re` varchar(50) DEFAULT NULL COMMENT
`out_channel` varchar(32) DEFAULT NULL,
`out_time` varchar(20) DEFAULT NULL,
`out_operator` varchar(32) DEFAULT NULL,出口操作员
`out_jpg1` varchar(50) DEFAULT NULL,
`out_jpg2` varchar(50) DEFAULT NULL,
`stoptime` int(4) DEFAULT NULL,
`moneying` int(4) DEFAULT NULL,应收金额
`moneyed` int(4) DEFAULT NULL,实收金额
`re` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
现在要查询出来的结果为:姓名,上班时间,下班时间,应收金额,实收金额。我想问的是此2张表如何建索引才能达到最佳查询效果。如果有大神认为表结构有问题,那么应该如何优化,分不多,请谅解。
解决方案 »
- mysql帮忙优化一条sql语句,模仿Oracle函数 row_number() over()函数实现分组后自增长,请大神帮忙。
- mysql where查询中文问题
- [求助]一个关于考试成绩的SQL语句
- 求一个SQL查询语句WhereClause设置条件,字段值不为空如何写
- PostgreSQL 逻辑型一问
- 删除数据库的命令是什么
- 新手请教MYSQL组合索引的问题,请大侠帮忙.
- 如何将VBB从MYSQL数据库转换到SQLServer数据库(个人心得)
- MYSql查询速度变慢与PHP页面静态化的必要性问题
- 关于针对MySQL数据库的SQL语句表名大小写敏感问题
- 有挑战性的sql语句查询,求帮忙解决
- 硬盘损坏后,现在只剩下Mysql的安装目录,求指导如何恢复数据库
left join data_outin t2 on t1.username=t2.out_operator and t1.logintime>=t2.out_time and t1.logouttime<=t2.out_time group by username,logintime,logouttime,大概就是这个意思,纯手打,不确定是正确的。