生成连续编号
CONNECT BY (Oracle)、 WITH 子句(DB2、SQL Server)
EXCEPT
返回第一个表中有、第二个表中没有的数据
https://www.cnblogs.com/951106Nancy/p/9290539.html
Oracle的overlaps
COALESCE
GROUP_CONCAT()
https://www.yiibai.com/mysql/group_concat.html
GROUP_CONCAT(DISTINCT expressionORDER BY expressionSEPARATOR sep);
窗口函数 SUM OVER
移动累计值
在SQL进阶教程
/* 求移动累计值(1):使用窗口函数 */SELECT prc_date, prc_amt,SUM(prc_amt) OVER (ORDER BY prc_dateROWS 2 PRECEDING) AS onhand_amtFROM Accounts;
oracle窗口函数 LEAD OVER去查看下一行的BEGIN_DATE,
mariadb窗口函数
mairadb10.2开始提供了ROW_NUMBER()函数
Oracle窗口函数
LEAD OVER
LEAD OVER 读取与当前行相关的下一个员工的工资
ROW_NUMBER OVER
DENSE_RANK
使用窗口函数 NTILE创建4个桶
select ntile(4) over(order by empno) grp, empno, ename from emp
MySQL样例数据库sakila
http://downloads.mysql.com/docs/sakila-db.zip
检查冗余索引
pt-duplicate-key-checker工具可以检测表中重复的索引
MySQL工具箱
Download Percona Toolkit
文档| https://www.percona.com/doc/percona-toolkit/LATEST/index.html
pt-upgrade
检查计划中的索引变更
pt-index-usage
找出哪些索引为使用,还可以了解查询的执行计划。
EXPLAIN
Extra
Extra出现了Using where 这表示MySQL服务器存储引擎返回行以后在应用WHERE过滤条件。
