V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
aisensiy
V2EX  ›  MySQL

为什么我建立的视图查询如此之慢?

  •  
  •   aisensiy ·
    aisensiy · 2013-10-09 11:43:33 +08:00 · 10730 次点击
    这是一个创建于 4095 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ```
    create or replace view site_count_for_records (site, url_count) AS (select newsite, count(url) as url_count from records group by newsite order by url_count DESC);
    ```

    为了保存 group by 的结果,我建立了一个视图,但是悲剧的是我直接去这个新建的视图去查询怎么还是一样的慢呢?难道这个视图木有真正的保存查询结果?
    13 条回复    1970-01-01 08:00:00 +08:00
    nybux
        1
    nybux  
       2013-10-09 11:50:54 +08:00
    是oracle吗?可以试试物化视图

    create materialized view ......
    yangqi
        2
    yangqi  
       2013-10-09 11:53:28 +08:00
    视图本来就不保存结果的啊, 只保存查询语句然后模拟成一个表...
    aisensiy
        3
    aisensiy  
    OP
       2013-10-09 11:56:27 +08:00
    @yangqi 我是放在 mysql 节点的哦...
    aisensiy
        4
    aisensiy  
    OP
       2013-10-09 11:56:50 +08:00
    @nybux mysql 唉...
    cxe2v
        5
    cxe2v  
       2013-10-09 11:58:32 +08:00
    @aisensiy 别怪mysql。视图本来就只是提供一个快捷查询数据的方式,不保存结果的
    vileer
        6
    vileer  
       2013-10-09 12:06:34 +08:00
    @cxe2v @yangqi 说得对,可以试一下用临时表
    yangqi
        7
    yangqi  
       2013-10-09 12:14:07 +08:00
    @aisensiy 我看到了,我说的就是mysql
    aisensiy
        8
    aisensiy  
    OP
       2013-10-09 12:46:27 +08:00
    临时表似乎是会自动删除的吧?看来我要自己再见一个表了?
    vileer
        9
    vileer  
       2013-10-09 13:17:30 +08:00
    @aisensiy 临时表的生存周期是在一个连接内,连接断开是会自动删除,至于用不用这个要看业务场景而定,需要持久化就不能用了,如果只是存中间结果,倒没什么问题
    davepkxxx
        10
    davepkxxx  
       2013-10-09 13:22:55 +08:00
    mysql ……
    aisensiy
        11
    aisensiy  
    OP
       2013-10-09 15:23:49 +08:00
    我现在用了最土的办法,建立个表,然后 insert into...
    roricon
        12
    roricon  
       2013-10-09 17:07:08 +08:00
    话说,把Mysql的cache调大点不成么?
    jinghli
        13
    jinghli  
       2013-10-09 17:11:20 +08:00
    insert into很慢的。要注意。可以考虑建一个索引。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3080 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:06 · PVG 21:06 · LAX 05:06 · JFK 08:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.