场景:

表 stockpooldata_flash

CREATE TABLE `stockpooldata_flash` (

`id` bigint(15) NOT NULL AUTO_INCREMENT,

`formula_id` int(8) DEFAULT NULL,

`period_type` tinyint(3) DEFAULT NULL,

`gpMarket` int(4) DEFAULT NULL,

`gpcode` varchar(20) DEFAULT NULL,

`ymd` int(11) DEFAULT NULL,

`hms` int(11) DEFAULT NULL,

`f1` decimal(18,4) DEFAULT NULL,

`f2` decimal(18,4) DEFAULT NULL,

`f3` decimal(18,4) DEFAULT NULL,

`f4` decimal(18,4) DEFAULT NULL,

`f5` decimal(18,4) DEFAULT NULL,

`f6` decimal(18,4) DEFAULT NULL,

`f7` decimal(18,4) DEFAULT NULL,

`f8` decimal(18,4) DEFAULT NULL,

`f9` decimal(18,4) DEFAULT NULL,

`f10` decimal(18,4) DEFAULT NULL,

`f11` decimal(18,4) DEFAULT NULL,

`f12` decimal(18,4) DEFAULT NULL,

`f13` decimal(18,4) DEFAULT NULL,

`f14` decimal(18,4) DEFAULT NULL,

`f15` decimal(18,4) DEFAULT NULL,

`f16` decimal(18,4) DEFAULT NULL,

`buyPrice` decimal(18,4) DEFAULT NULL,

`rise_max` decimal(18,4) DEFAULT NULL,

`rise_signalDay` decimal(18,4) DEFAULT NULL,

`high_max` decimal(18,4) DEFAULT NULL,

`yClose_signalDay` decimal(18,4) DEFAULT NULL,

`iTime` bigint(15) DEFAULT NULL,

`MaxRise` decimal(18,4) DEFAULT NULL,

`Rise_NextDay` decimal(18,4) DEFAULT NULL,

`MaxRise_NextDay` decimal(18,4) DEFAULT NULL,

`Rise_FiveDays` decimal(18,4) DEFAULT NULL,

`MaxRise_FiveDays` decimal(18,4) DEFAULT NULL,

`Rise_TenDays` decimal(18,4) DEFAULT NULL,

`MaxRise_TenDays` decimal(18,4) DEFAULT NULL,

`dayNum` int(8) DEFAULT '-1',

`tag` varchar(1024) DEFAULT NULL,

`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (`id`),

UNIQUE KEY `index_formulaId_gpcode_ymd` (`formula_id`,`period_type`,`ymd`,`gpMarket`,`gpcode`,`f10`) USING BTREE,

KEY `index_formulaId_period_ymd` (`formula_id`,`period_type`,`ymd`) USING BTREE,

KEY `index_formulaId_ymd` (`formula_id`,`ymd`) USING BTREE,

KEY `index_uptime` (`update_time`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=88197314 DEFAULT CHARSET=utf8;

建立了一个视图 v_stockpooldata_flash

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_stockpooldata_flash` AS select

case formula_id

when '4' then 'DXJJ'

else `t`.`formula_id`

end

AS `gscode`,concat(convert(if((`t`.`gpMarket` = 0),'SZ','SH') using utf8),`t`.`gpcode`) AS `gpcode`,`t`.`ymd` AS `ymd`,

( floor(`t`.`hms` / 10000) * 60 + floor(`t`.`hms` % 10000 / 100) ) AS `hms`,

`t`.`f1` AS `f1`, `t`.`f2` AS `f2`, `t`.`f3` AS `f3`, `t`.`f4` AS `f4`, `t`.`f5` AS `f5`, `t`.`f6` AS `f6`,

case

when formula_id = 4 then ( floor(`t`.`f7` / 10000) * 60 + floor(`t`.`f7` % 10000 / 100) )

else `t`.`f7` end

AS `f7`,

`t`.`f8` AS `f8`, `t`.`f9` AS `f9`, `t`.`f10` AS `f10`, `t`.`f11` AS `f11`, `t`.`f12` AS `f12`, `t`.`f13` AS `f13`, `t`.`f14` AS `f14`, `t`.`f15` AS `f15`, `t`.`f16` AS `f16`, `t`.`rise_max` AS `rise_max`, `t`.`rise_signalDay` AS `rise_signalDay`, `t`.`high_max` AS `high_max`, `t`.`yClose_signalDay` AS `yClose_signalDay`, `t`.`update_time` AS `update_time`

from `stockpooldata_flash` `t`

“SELECT * FROM v_stockpooldata_flash where gscode = 'DXJJ' and ymd = 20190123” 语句查询速度太慢:耗时 256.445 s

解决方法:利用源表中的索引 KEY `index_formulaId_period_ymd`

在创建视图时,select  `t`.`formula_id` AS `formula_id`

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_stockpooldata_flash` AS select `t`.`formula_id` AS `formula_id`,

case formula_id

when '4' then 'DXJJ'

else `t`.`formula_id`

end

AS `gscode`,concat(convert(if((`t`.`gpMarket` = 0),'SZ','SH') using utf8),`t`.`gpcode`) AS `gpcode`,`t`.`ymd` AS `ymd`,

( floor(`t`.`hms` / 10000) * 60 + floor(`t`.`hms` % 10000 / 100) ) AS `hms`,

`t`.`f1` AS `f1`, `t`.`f2` AS `f2`, `t`.`f3` AS `f3`, `t`.`f4` AS `f4`, `t`.`f5` AS `f5`, `t`.`f6` AS `f6`,

case

when formula_id = 4 then ( floor(`t`.`f7` / 10000) * 60 + floor(`t`.`f7` % 10000 / 100) )

else `t`.`f7` end

AS `f7`,

`t`.`f8` AS `f8`, `t`.`f9` AS `f9`, `t`.`f10` AS `f10`, `t`.`f11` AS `f11`, `t`.`f12` AS `f12`, `t`.`f13` AS `f13`, `t`.`f14` AS `f14`, `t`.`f15` AS `f15`, `t`.`f16` AS `f16`, `t`.`rise_max` AS `rise_max`, `t`.`rise_signalDay` AS `rise_signalDay`, `t`.`high_max` AS `high_max`, `t`.`yClose_signalDay` AS `yClose_signalDay`, `t`.`update_time` AS `update_time`

from `stockpooldata_flash` `t`

查询语句改为“SELECT * FROM v_stockpooldata_flash where formula_id = 4 and ymd = 20190123” 查询效果如下:耗时 0.962 s

mysql 视图 速度慢_mysql 视图查询速度慢相关推荐

  1. mysql 查询速度不稳定_mysql严重查询速度的问题一则-阿里云开发者社区

    之前用mysql一直也没觉得有特别慢的感觉,最近发现新开发的系统有个页面打开速度非常慢,有时候1分钟都打不开.查了一下系统,定位到是一条sql语句执行慢造成的.该sql如下: SELECT COUNT ...

  2. php 增加mysql 索引,【PHP】为什么 MySQL 添加索引后就可以提高查询速度

    遇到这种问题,你就要高度集中,保持空杯心态,脑海里要有以下三个问题 为什么添加索引会提高查询速度 索引提高了查询速度对增删改有影响 索引常用的算法原理分析B树和B+树 下面来详细介绍介绍 为什么添加索 ...

  3. mysql 视图 查询速度慢_mysql 视图查询速度慢

    场景: 表 stockpooldata_flash CREATE TABLE `stockpooldata_flash` ( `id` bigint(15) NOT NULL AUTO_INCREME ...

  4. MySQL查询与视图实验总结_MySQL 视图 总结

    什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据. 数 ...

  5. mysql视图实现的_mysql视图是什么?怎么实现?

    mysql视图是什么?怎么实现? 发布时间:2020-05-21 18:00:24 来源:亿速云 阅读:152 作者:鸽子 视图本身是一张虚拟表,不存放任何数据.在使用SQL语句访问视图的时候,获取的 ...

  6. mysql 视图调用存储过程_MySQL视图、存储过程

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 什么是视图(视图) 虚拟表 内容类似于真实表,有字段和记录 该视图不以数据库中存储的数据的形式存在 行和列的数据来自 ...

  7. mysql视图使用场景_MySQL视图适用场景

    问题描述: MySQL视图适用于哪些场景? 解决方法: 1.视图能简化用户操作.视图机制使用户可以将注意力集中在所关心的数据上.如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简 ...

  8. mysql视图的简介_mysql视图简介

    一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...

  9. mysql创建视图需注意_mysql视图创建注意事项

    一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...

最新文章

  1. 安装mysql 10055_Can’t connect to MySQL server on ‘localhost’ (10055) | 学步园
  2. JavaSE学习之IO流使用技巧
  3. 读书笔记(06) - 语法基础 - JavaScript高级程序设计
  4. mysql2008优化_SQL server 2008 数据库优化常用脚本
  5. 论文笔记--网络新闻图像中人脸标注技术的研究-2011
  6. mac mysql语句_Mac 下MySQL使用group by 语句报错解决方法
  7. 如何拉起被一键清除的安卓进程
  8. ARM9学习笔记之——SDRAM实验
  9. python 类属性排序_Python 使用多属性来进行排序
  10. qq飞车手游微信24区服务器,QQ飞车手游手游开服表_QQ飞车手游手游开服时间表_新服新区预告_第一手游网...
  11. [bilibili] B站屏蔽“柳学家”弹幕 正则表达式
  12. opcode加密php代码,总结Opcode缓存和PHP代码的加密
  13. Skywalking+Nacos实现高可用集群和动态配置
  14. 认识substrate
  15. 什么是jsp,它有什么用+jsp的本质是什么
  16. lisp正负调换_坐标提取lisp程序 -
  17. 咕泡P5人工智能深度学习高薪就业班
  18. 【linux驱动】网卡驱动程序
  19. 阿宽食品冲刺深交所:年销售11亿 高瓴与茅台建信是股东
  20. Linux编写内核模块,实现在/proc目录下添加文件

热门文章

  1. python sql注入脚本_python辅助sql手工注入猜解数据库案例分析
  2. 信号与槽是如何实现的_如何解决wifi信号不好,实现全面覆盖
  3. 拔刀剑服务器r87修复版,我的世界拔刀剑mod刀剑修复教程
  4. Golang 受欢迎的原因:大道至简
  5. 搭建Sql Server AlwaysOn 视频教程
  6. Bundler和Minifier Visual Studio扩展
  7. Android中最常用也是最难用的控件——ListView
  8. [剑指Offer] 42.和为S的两个数字
  9. 使用git初始化本地仓库并提交到远程分支
  10. 仿淘宝分页按钮效果简单美观易使用的JS分页控件