楼主: bensonwu
2408 2

[R] 利用RODBC包从PostgreSQL数据库中查询股价日数据和周数据 [推广有奖]

  • 1关注
  • 26粉丝

已卖:4041份资源

博士生

11%

还不是VIP/贵宾

-

威望
0
论坛币
23136 个
通用积分
686.4277
学术水平
72 点
热心指数
58 点
信用等级
35 点
经验
3329 点
帖子
182
精华
1
在线时间
66 小时
注册时间
2007-9-24
最后登录
2024-11-27

楼主
bensonwu 发表于 2015-3-4 13:20:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
      数据库共708.6万行,数据388MB,索引213MB共600MB。查周数据第一次查询587行用281ms,以后几次为47ms和63ms,查日数据2846行,花费125ms。

      没有进行过SQL的优化,谁能改进查询请在下面跟贴。下面是我的代码:

  1. library(RODBC)
  2. #连接数据库
  3. channel <- odbcConnect("postgresql35w", uid="postgres", pwd="admin")

  4. #从股价数据库中读入上证日指数
  5. a<- sqlQuery(channel ,"
  6. SELECT
  7.   stockprice.date,
  8.   stockprice.price
  9. FROM
  10.   public.stockprice
  11. WHERE
  12.   stockprice.code = 'SH000001' AND
  13.   stockprice.date > '1997-10-28'
  14. ORDER BY
  15.   stockprice.date ASC")

  16. #从股价数据库中读入深证日指数
  17. sz<- sqlQuery(channel ,"
  18. SELECT
  19.   stockprice.date,
  20.   stockprice.price
  21. FROM
  22.   public.stockprice
  23. WHERE
  24.   stockprice.code = 'SZ399001' AND
  25.   stockprice.date > '1997-10-28'
  26. ORDER BY
  27.   stockprice.date ASC")

  28. #从股价数据库中读入相关股票周价格
  29. gg<- sqlQuery(channel ,"
  30. select * from
  31.   (select LAST_VALUE(date) OVER (PARTITION  BY to_char(date , 'IYYYIW')) as Wdate,
  32.           LAST_VALUE(price)  OVER (PARTITION  BY to_char(date , 'IYYYIW')) as Wprice
  33.     from (
  34. SELECT
  35.     stockprice.date,
  36.     stockprice.price
  37. FROM
  38.     public.stockprice
  39. WHERE
  40.     stockprice.code = 'SH600030' AND
  41.     stockprice.date > '1997-10-28'
  42. ORDER BY
  43.     stockprice.date ASC) as  ap) as week
  44. group by Wdate , Wprice
  45. order by Wdate")
  46. #断开数据库连接
  47. odbcClose(channel)
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:PostgreSQL RODBC包 SQL数据库 RODBC post 数据库 查询 股价 PostgreSQL RODBC 数据库 查询 股价 PostgreSQL RODBC

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
niuniuyiwan + 100 + 100 + 5 + 5 + 5 精彩帖子
我的素质低 + 40 精彩帖子

总评分: 经验 + 100  论坛币 + 140  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

本帖被以下文库推荐

沙发
catlingh 发表于 2015-4-15 16:56:06
个人觉得performance上来说对于这么大的数据库而言100ms级别是可以接受的,查询的语句似乎也没什么需要优化的。数据库优化很多时候是在table,index之类的规划上,查询语句上可作的并不多
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
niuniuyiwan + 40 + 1 + 1 观点有启发

总评分: 论坛币 + 40  学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
vmit 发表于 2016-8-21 13:35:06
查询语句上的优化空间不大

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 17:44