Linux|系统管理|WEB开发

关注Linux,系统管理,WEB开发以及开源世界

SQL查询工具网站的部署

| Comments

从 IRC #postgresql 频道了解到一个网站: http://explain.depesz.com 其口号是:

A tool for finding a real cause for slow queries

方法是粘贴你的 explain sql 语句结构。 他可以根据结果生成HTML格式的解释页面,其中用不同颜色来标识子语句所占用的资源情况,其中颜色越深,标识所占用的资源越多。
同时它还给出了两张统计列表,一张是按照索引类型来统计占用的时间,及比率;另外一种是根据SQL语句中涉及到的表来统计查询每张表所占用的时间及比率。 不仅如此,这个网站代码还是开源的,托管在github上。地址为: https://github.com/depesz/explain.depesz.com

下面是搭建过程:

  1. 环境:Debian unstable 64bit
  2. 首先安装网站代码以来的perl框架mojolicious,可以从http://www.mojolicious.org/ 下载源代码编译安装。不过Debian的源里有这个软件,可以直接通过sudo apt-get install mojolicious 来安装。 2)从http://backpan.perl.org/authors/id/D/DE/DEPESZ/Pg-Explain-0.61.tar.gz 下载分析explain SQL的perl模块,这个模块也是网站作者编写的。下载解压,执行perl Build.pl ,如果提示有模块没有安装,则执行 ./Build installdeps 而后执行 ./Build install 即可。
  3. 下载explain.depesze.com的源代码

     cd /home/wgzhao/websites/
     git clone https://github.com/depesz/explain.depesz.com.git  explain
    
  4. 网站默认使用的是postgresql数据库,我们修改 explain.json文件中关于database区域的相关信息。保证perl能正确连接上数据库。

  5. 用psql连接postgresql,创建explain.json里设置的数据库名,并导入sql/create.sql文件。

  6. 执行morbo --verbose ./explain.pl 根据提示,如果报一些perl模块找不到,先安装这些模块。直到上述指令出现类似下面的结果:

     [Tue Sep 20 18:17:37 2011]  
     [info] Server listening (http://\*:3000) Server available at http://127.0.0.1:3000. 
    
  7. 打开浏览器,访问 http://127.0.0.1:3000,看看是不是获得了和http://explain.depesz.com/ 一样的效果?

Comments