
SQL优化
SQL优化,整理日常使用的SQL优化,提高SQL查询效率,面试应对无压力!
75888丶
即使一小步,我都愿意与你分享。
展开
-
SQL优化大总结之 百万级数据库优化方案
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null尽可能的使用NOT NULL填充数据库,备注、描述、评论之类的可以设置为NULL,其他的,最好不要...转载 2020-03-13 11:30:06 · 307 阅读 · 0 评论 -
SQL优化之SQL通用优化、索引失效与生效
日常SQL语句查询,部分SQL由于条件会导致索引失效,下面整理一些典型的SQL语句,优化索引生效,加快查询: 1、百分号索引失效,如果是LIKE 'MYSQL'则索引生效 注意:1、索引中不能有%号,否则索引失效例如在一个表中:title与body为全文索引,现在要查body中的一个文章包含某关键词的数据。原SQL不走索引范例: FROM TABLE WHERE BOD...原创 2020-03-13 09:55:11 · 726 阅读 · 0 评论 -
SQL优化之添加索引的时机与场景
数据库建立索引的原则 确定针对该表的操作是大量的查询操作还是大量的增删改操作。 尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。 尝试建立复合索引来进一步提高系统性能。修改复合索引将消耗更长时间,同时,复合索引也占磁盘空间。 对于小型的表,建立索引可能会影响性能 。 应该避免对具有较少值的字段进行索引。 避免选择大...转载 2020-03-12 15:42:21 · 477 阅读 · 0 评论 -
SQL优化之PostgreSQL的pg_stat_statements统计模块
pg_stat_statements模块含义? pg_stat_statements模块提供一种方法追踪一个服务器所执行的所有 SQL 语句的执行统计信息,可以用于统计数据库的资源开销,分析TOP SQL。 如下所示表中所代表的字段:f放到 -- SQL统计SELECT userid AS 执行者id ,dbid AS 执行数据库id ,query AS 执行的语句 ,...原创 2020-03-12 14:12:33 · 2642 阅读 · 0 评论 -
SQL优化之IN与exists
in后条件不多,可以考虑主表建索引,或用union all 代替 in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先...原创 2020-03-12 13:35:50 · 299 阅读 · 0 评论