数据库2025年06月09日
一、分页框架 1.正确的分页框架 select * from (select * from (select a.*,rownum rn from (需要分页的SQL) a ) where rownum <=10) where rn >=1; 2.错误的分页框架 select * from (select t.* ,rownum ...
数据库2025年06月09日
1.在进行sql优化之前,首先我们得找到需要优化的sql(比如查询时间超过2s的慢sql),这时候我们就要使用到慢查询日志(慢sql的挖掘机); 2.慢查询日志: MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过 long_query_time 值的SQL,就会被记录到慢查询日志中(但...
数据库2025年06月06日
SQL优化准则 禁用select * 使用select count(*) 统计行数 尽量少运算 尽量避免全表扫描,如果可以,在过滤列建立索引 尽量避免在where子句对字段进行null判断 尽量避免在where子句使用!= 或者<> 尽量避免在where子句使用or连接 尽量避免对字段进行表达式计算 尽量避免对字段进行函数操作 ...
数据库2025年05月30日
大多数情况下,我们需要避免SQL在查询时进行全表扫描(FTS),但是对于必须需要进行全表扫描的情况,也可以进行一些优化处理。 即使全表扫描是检索所需数据的唯一可行方法,仍然有多种方法来提升查询性能。优化扫描的技术包括: 1、 通过让表变小来减少扫描所需的逻辑块读取的数量 2、 通过提高数据库IO的效率降低扫描所需要的物理块读取的数量 3、 通过缓存或抽样降...
数据库2025年05月21日
http://www.cnblogs.com/zhw511006/archive/2009/07/22/1528405.html http://blog.csdn.net/songyanjun2011/article/details/7308414 相同点: 1.truncate和不带where子句的delete、以及drop都会删除表内的数据。 2.dr...
数据库2025年05月19日
最近在优化慢SQL,现在通过explain查看执行计划有几列还是有些模糊,特此做一下笔记。 Explain命令主要应用在解决数据库性能上,大部分的性能问题可以通过此命令来简单的解决,方便查看SQL语句的执行效果,帮助选择更好的索引和优化查询语句。 其语法:explain select … from … [where …] 执行结果如下表 MySQL [db...
数据库2025年05月17日
1.行转列:有两种写法,一种是case when end写法,另一种写法是pivot(oracle 11g新增) select job, sum(case deptno when then sal end) as sal10, sum(case deptno when then sal end) as sal20, sum(case deptno when...
数据库2025年05月17日
1.对于表中行与行存在父子关系时,可以通过connect by查询方式,查询行与行之间的父子关系 select lpad('-',(level-),'-')|| empno as tempno, ename,mgr,level, decode(level,,) as root, decode(connect_by_isleaf,,) as leafnode...
服务器2025年05月14日
优化说明: 一.关闭selinux 二.更改为阿里yum源 三.提权dm用户可以使用sudo 四.优化ssh远程登录配置 五.设置中文字符集 六.设置时间同步 七.历史记录数及登录超时环境变量设置 八.调整linux描述符 九.定时清理邮件服务临时目录垃圾文件 十.锁定关键系统文件,防止被提权篡改 十一.ssh限制ip登录 十二.为grub菜单加密 十三....
数据库2025年05月03日
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样...