Archive

Archive for the ‘sql优化’ Category

loose index scan 优化distinct

October 11th, 2011 No comments

上篇中我们提到用伪loose index scan来优化max/min,这一篇我们将用伪loose index scan来优化distinct:

有这样的一个需求:select count(distinct nick) from user_access_xx_xx;

这条sql用于统计用[……]

Read more

Categories: database, sql优化 Tags:

STRAIGHT_JOIN has no effect on query with subquery in FROM clause

July 26th, 2011 No comments

上周的mysql官网上提交了一个bug,原因为在我们的一个分页sql中出现了全表扫描的情况,这对于我们来说是不可接受的:

UTF8_EXCERPT_HAS_M[……]

Read more

Categories: mysql, sql优化 Tags:

有点小激动-Index Condition Pushdown Optimization

June 23rd, 2011 No comments

今天有点激动,因为在5.6的官方文档中看到Index Condition Pushdown Optimization,简称ICP,这意味着什么,意味着mysql的优化器能够像oracle的优化器那样对索引列进行过滤,而不是像以前版本中只能使用前缀索引来过滤满足查询条件的行;

为了说明优化器是怎[……]

Read more

Categories: database, sql优化 Tags:

mysql子查询的弱点

April 14th, 2011 No comments
mysql的子查询的优化不是很友好,一直有受业界批评比较多.
关于mysql的查询有两个知识点:
第一个为mysql在处理所有的查询的时候都强行转换为联接来执行,将每个查询包括多表中关联匹配,关联子查询,union,甚至单表的的查询都处理为联接,接着mysql执行联接,把每个联接在处理为一个嵌套[……]

Read more

Categories: database, sql优化 Tags:

认识mysql前缀索引

March 25th, 2011 No comments
今天在测试环境中加一个索引时候发现一警告
root@test 07:57:52>alter table  article drop index ind_article_url;
Query OK, 144384 rows affected (16.29 sec)
Records:[……]

Read more

Categories: database, mysql, sql优化 Tags:

Mysql中对primary key一点选择改变

March 3rd, 2011 No comments

在5.1.46中优化器在对primary key的选择上做了一点改动:

Performance: While looking for the shortest index for a covering index scan, the optimizer did not consider the[……]

Read more

Categories: database, sql优化 Tags:

大数据分页的一种优化方法

November 23rd, 2010 No comments

通常应用需要对表中的数据进行翻页,如果数据量很大,往往会带来性能上的问题:

root@sns 07:16:25>select count(*) from  reply_0004 where thread_id = 5616385 and deleted = 0;
+———-+

[……]

Read more

Categories: mysql, sql优化 Tags:

记一次not in 和 minus的优化

October 11th, 2010 No comments

优化前:
select count(t.id)
  from test t
 where t.status = 1
   and t.id not in (select distinct a.app_id
                      from test2 a
      [……]

Read more

Categories: database, sql优化 Tags:

查询表中最新纪录-减少表扫描量

September 25th, 2010 Comments off

    今天开发给了一条sql,查询表中最近更新的一条记录:

       select id,
       type,
       object_id,
       nick,
       isv_id,
       next_auditor_role,
      [……]

Read more

Categories: database, sql优化 Tags: