1、请用SQL 语句实现如下功能:将表A备份为A_BAK,再将表A清空。
CREATE TABLE A_BAK AS SELECT * FROM A;
TRUNCATE TABLE A;
2、什么是SQL执行计划?SQL存储优化和查询优化,有哪些常用方法?
SQL执行计划就是查看MySQL如何执行指定的SQL语句,包括查询的顺序、索引使用等信息,可以用于分析执行性能情况,进而尝试优化提升效率。
存储上,主键尽量按顺序增长,对经常查询的字段建立索引
查询时,尽量让SQL语句能够使用到索引,尽量减少索引失效的情况
3、数据库中有一个线上服务器访问日志的表SYS_LOG,表结构如下
写一个SQL 查询:11月9号下午14:00-15:00之间,访问/api/user/login接口的Top 10的 IP地址和访问次数。
SELECT IP,COUNT(1) 访问次数
FROM SYS_LOG
WHERE URI=’/api/user/login’
AND TIME BETWEEN ‘2017-11-09 14:00:00’ AND ‘2017-11-09 15:00:00’
GROUP BY IP
ORDER BY COUNT(1) DESC
LIMIT 10;
为测试,先建表
CREATE TABLE SYS_LOG(
TIME DATETIME,
URI VARCHAR(50),
IP VARCHAR(15)
);
添加数据
INSERT INTO SYS_LOG VALUES
(‘2017-11-09 14:22:05’,’/api/user/login’,’110.23.5.33’),
(‘2017-11-09 14:23:10’,’/api/user/detail’,’57.3.2.16’),
(‘2017-11-09 14:59:00’,’/api/user/login’,’200.6.5.166’),
# .1 —12次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.1’),
# .2 —11次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.2’),
# .3 —10次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.3’),
# .4 —10次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.4’),
# .5 —9次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.5’),
# .6 —9次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.6’),
# .7 —8次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.7’),
# .8 —7次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.8’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.8’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.8’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.8’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.8’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.8’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.8’),
# .9 —5次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.9’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.9’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.9’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.9’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.9’),
# .10 —3次
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.10’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.10’),
(‘2017-11-09 14:22:33’,’/api/user/login’,’200.200.200.10’);

