mysql 视图 速度慢_mysql 视图查询速度慢
场景:
表 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 视图查询速度慢相关推荐
- mysql 查询速度不稳定_mysql严重查询速度的问题一则-阿里云开发者社区
之前用mysql一直也没觉得有特别慢的感觉,最近发现新开发的系统有个页面打开速度非常慢,有时候1分钟都打不开.查了一下系统,定位到是一条sql语句执行慢造成的.该sql如下: SELECT COUNT ...
- php 增加mysql 索引,【PHP】为什么 MySQL 添加索引后就可以提高查询速度
遇到这种问题,你就要高度集中,保持空杯心态,脑海里要有以下三个问题 为什么添加索引会提高查询速度 索引提高了查询速度对增删改有影响 索引常用的算法原理分析B树和B+树 下面来详细介绍介绍 为什么添加索 ...
- mysql 视图 查询速度慢_mysql 视图查询速度慢
场景: 表 stockpooldata_flash CREATE TABLE `stockpooldata_flash` ( `id` bigint(15) NOT NULL AUTO_INCREME ...
- MySQL查询与视图实验总结_MySQL 视图 总结
什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据. 数 ...
- mysql视图实现的_mysql视图是什么?怎么实现?
mysql视图是什么?怎么实现? 发布时间:2020-05-21 18:00:24 来源:亿速云 阅读:152 作者:鸽子 视图本身是一张虚拟表,不存放任何数据.在使用SQL语句访问视图的时候,获取的 ...
- mysql 视图调用存储过程_MySQL视图、存储过程
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 什么是视图(视图) 虚拟表 内容类似于真实表,有字段和记录 该视图不以数据库中存储的数据的形式存在 行和列的数据来自 ...
- mysql视图使用场景_MySQL视图适用场景
问题描述: MySQL视图适用于哪些场景? 解决方法: 1.视图能简化用户操作.视图机制使用户可以将注意力集中在所关心的数据上.如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简 ...
- mysql视图的简介_mysql视图简介
一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...
- mysql创建视图需注意_mysql视图创建注意事项
一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...
最新文章
- 安装mysql 10055_Can’t connect to MySQL server on ‘localhost’ (10055) | 学步园
- JavaSE学习之IO流使用技巧
- 读书笔记(06) - 语法基础 - JavaScript高级程序设计
- mysql2008优化_SQL server 2008 数据库优化常用脚本
- 论文笔记--网络新闻图像中人脸标注技术的研究-2011
- mac mysql语句_Mac 下MySQL使用group by 语句报错解决方法
- 如何拉起被一键清除的安卓进程
- ARM9学习笔记之——SDRAM实验
- python 类属性排序_Python 使用多属性来进行排序
- qq飞车手游微信24区服务器,QQ飞车手游手游开服表_QQ飞车手游手游开服时间表_新服新区预告_第一手游网...
- [bilibili] B站屏蔽“柳学家”弹幕 正则表达式
- opcode加密php代码,总结Opcode缓存和PHP代码的加密
- Skywalking+Nacos实现高可用集群和动态配置
- 认识substrate
- 什么是jsp,它有什么用+jsp的本质是什么
- lisp正负调换_坐标提取lisp程序 -
- 咕泡P5人工智能深度学习高薪就业班
- 【linux驱动】网卡驱动程序
- 阿宽食品冲刺深交所:年销售11亿 高瓴与茅台建信是股东
- Linux编写内核模块,实现在/proc目录下添加文件
热门文章
- python sql注入脚本_python辅助sql手工注入猜解数据库案例分析
- 信号与槽是如何实现的_如何解决wifi信号不好,实现全面覆盖
- 拔刀剑服务器r87修复版,我的世界拔刀剑mod刀剑修复教程
- Golang 受欢迎的原因:大道至简
- 搭建Sql Server AlwaysOn 视频教程
- Bundler和Minifier Visual Studio扩展
- Android中最常用也是最难用的控件——ListView
- [剑指Offer] 42.和为S的两个数字
- 使用git初始化本地仓库并提交到远程分支
- 仿淘宝分页按钮效果简单美观易使用的JS分页控件