Access 视图 查询优化过程例 By Stabx

原创 2006年05月29日 23:49:00
标题: Access 视图 查询优化过程例 By Stabx

正文:

QUOTE:

Access 视图 查询优化过程例

1. 需要的列 / 共9个
gid, gname, gcontent, a.gcid, gdate, a.gscid, subgname, gcat, gscat

1.1 原视图 / 共选择 23个列
SELECT a.*, b.*, c.*
FROM (ctglossary AS a LEFT JOIN ctglossarysupercat AS b ON a.gcid=b.gcid) LEFT JOIN ctglossarysubcat AS c ON a.gscid=c.gscid;

1.2 新视图 / 共选择 9个列
SELECT gid, gname,gcontent,a.gcid,gdate,a.gscid,subgname,gcat,gscat
FROM (ctglossary AS a LEFT JOIN ctglossarysupercat AS b ON a.gcid=b.gcid) LEFT JOIN ctglossarysubcat AS c ON a.gscid=c.gscid;

2. 需要的列 / 共13个
a.articleid, title, content, a.classid, a.nclassid, hits, dateandtime, class, nclass, tagid, tag, tagview, tagdate

2.1 原视图 / 共选择30个
SELECT a.*, b.*, c.*, d.*
FROM (ctarticle AS a LEFT JOIN ctclass AS b ON a.classid=b.classid) LEFT JOIN (ctnclass AS c RIGHT JOIN cttag AS d ON c.nclassid=d.nclassid) ON a.articleid=d.articleid;

2.2 新视图 / 共选择13个
SELECT a.articleid,title,content,a.classid,a.nclassid,hits,dateandtime,class,nclass,tagid,tag,tagview,tagdate
FROM (ctarticle AS a LEFT JOIN ctclass AS b ON a.classid=b.classid) LEFT JOIN (ctnclass AS c RIGHT JOIN cttag AS d ON c.nclassid=d.nclassid) ON a.articleid=d.articleid;

方法相当简单, 不需要的不要拿出来, 几千行的表可能没感觉, 十万行以上的表可不是好玩的.
可能的话,为每个需要的列都建立索引, 索引据说会降低编辑数据的效率, 鄙人没这发现, 再则查询永远比更新添加的时候多.

shawl.qiu<shawl.qiu@gmail.com>
2006-5-29

相关文章推荐

Access查询视图

  • 2007年10月18日 19:45
  • 32KB
  • 下载

查询视图v$access很慢

QUERY USING V$ACCESS IS RUNNING SLOW (文档 ID 549895.1)     I...

针对sql错误:“除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效”的原理与解决

执行sql语句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by da...

除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后...

MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY)

在上一篇文章MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介中介绍了EXPLAIN语句,并举了一个慢查询例子,本篇详细说明MySQL查询执行过程原理及优化方法。...
  • iefreer
  • iefreer
  • 2013年10月12日 00:04
  • 4881

DB2数据库查询过程(Query Processing)----多索引访问(Multiple Index Access)

引言 考虑下面的情况: 一张表T,有列C1,C2,C3,C4,C5。其中C1上有索引C1X,C2上有索引C2X,C3,C4,C5上有索引C345X。表中有100000000行数据。 查询语句: ...
  • idber
  • idber
  • 2012年11月17日 15:42
  • 2632

DB2数据库查询过程(Query Processing)----简单索引访问(Simple Indexed Access)

索引对于数据库的性能有着举足轻重的作用。上一篇文章已经介绍了没有索引的情况下表扫描访问相关知识,本文讨论有索引的情况下数据库系统如何使用索引进行数据访问,内容会比较复杂,强烈建议参看《深入理解DB2索...
  • idber
  • idber
  • 2012年11月13日 16:07
  • 3350

MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询

的撒旦撒旦啊大大啊

对Group By 语句的一次优化过程

生产环境中发现一条语句很慢,拿回来一看,其实是一个简单的Group By语句: 表CCMMT的数据量比较大,5M多条记录。   1、 SQL> select CDE, CID  2 from...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Access 视图 查询优化过程例 By Stabx
举报原因:
原因补充:

(最多只允许输入30个字)