w-BIG TABLE-view+where-small table
w-BIG TABLE
DROP PROCEDURE IF EXISTS truncate_insert_sales_rank_toparow_month;
DELIMITER /w/
CREATE PROCEDURE truncate_insert_sales_rank_toparow_month ()
BEGIN
TRUNCATE sales_rank_toparow_month ;
INSERT INTO sales_rank_toparow_month (
fk_countrycode,
fk_categoryid,
history_year,
history_month
) SELECT
country,
categoryid,
grab_year,
grab_month
FROM
grab_sales_rank_month
GROUP BY
country,
categoryid,
grab_year,
grab_month ;
END/w/
DELIMITER;
CALL truncate_insert_sales_rank_toparow_month; DROP PROCEDURE IF EXISTS insert_update_sales_rank_toparow_month;
DELIMITER /w/
CREATE PROCEDURE insert_update_sales_rank_toparow_month ()
BEGIN
SET @wtab = ' sales_rank_toparow_month ';
SET @wtab_src = 'grab_sales_rank_month';
SET @w = 10;
SET @wyear_max=(SELECT MAX(grab_year) FROM grab_sales_rank_month)+1;
SET @wyear = (SELECT MIN(grab_year) FROM grab_sales_rank_month); WHILE @w < 101 DO
WHILE @wyear < @wyear_max DO
SET @wmonth=(SELECT MIN(grab_month) FROM grab_sales_rank_month WHERE grab_year=@wyear);
SET @wmonth_max=(SELECT MAX(grab_month) FROM grab_sales_rank_month WHERE grab_year=@wyear)+1;
WHILE @wmonth < @wmonth_max DO DROP VIEW IF EXISTS wview;
SET @wview_where = CONCAT(' WHERE grab_year=',@wyear,' AND grab_month=',@wmonth,' AND topx=',@w);
SET @wview = CONCAT('CREATE VIEW wview AS SELECT * FROM ',@wtab_src,@wview_where,';');
PREPARE stmt0 FROM @wview ;
EXECUTE stmt0 ;
DROP PREPARE stmt0; DROP VIEW IF EXISTS wview1;
SET @wview1_where = CONCAT(' WHERE history_year=',@wyear,' AND history_month=',@wmonth,';');
SET @wview1 = CONCAT('CREATE VIEW wview1 AS SELECT * FROM ',@wtab,@wview1_where,';');
PREPARE stmt2 FROM @wview1 ;
EXECUTE stmt2 ;
DROP PREPARE stmt2; SET @wfield = CONCAT('coin',@w);
SET @wnewvalue = CONCAT('(SELECT sum_coin FROM wview da WHERE wview1.fk_countrycode = da.country AND wview1.fk_categoryid = da.categoryid AND wview1.history_year = da.grab_year AND wview1.history_month = da.grab_month AND da.topx=',@w,' )');
SET @wfieldb = CONCAT('amount',@w);
SET @wnewvalueb = CONCAT('(SELECT sum_amount FROM wview da WHERE wview1.fk_countrycode = da.country AND wview1.fk_categoryid = da.categoryid AND wview1.history_year = da.grab_year AND wview1.history_month = da.grab_month AND da.topx=',@w,' )'); SET @wpre = CONCAT('UPDATE ',' wview1 ',' SET ',@wfield,'=',@wnewvalue,',',@wfieldb,'=',@wnewvalueb);
PREPARE stmt1 FROM @wpre ;
EXECUTE stmt1 ;
DROP PREPARE stmt1; SET @wmonth=@wmonth+1;
END WHILE ;
SET @wyear=@wyear+1;
END WHILE ;
SET @wyear = (SELECT MIN(grab_year) FROM grab_sales_rank_month);
SET @w=@w+10;
END WHILE ;
END/w/
DELIMITER ;
CALL insert_update_sales_rank_toparow_month;
CREATE INDEX w1 ON grab_sales_rank_month (country);
CREATE INDEX w11 ON grab_sales_rank_month (categoryid);
CREATE INDEX w12 ON grab_sales_rank_month (grab_year);
CREATE INDEX w13 ON grab_sales_rank_month (topx);
USING BTREE --->BETTER--->USING HASH
w-BIG TABLE-view+where-small table的更多相关文章
- 创建一个Table View
在本课程中,您将创建应用程序FoodTracker的主屏幕.您将创建第二个,表视图为主场景,列出了用户的菜谱.你会设计定制表格单元格显示每一个菜谱,它是这样的: 学习目标 在课程结束时,你将能够: 创 ...
- Table View Programming Guide for iOS---(六)---A Closer Look at Table View Cells
A Closer Look at Table View Cells A table view uses cell objects to draw its visible rows and then c ...
- Table View Programming Guide for iOS---(五)---Creating and Configuring a Table View
Creating and Configuring a Table View Your app must present a table view to users before it can mana ...
- How To Make A Swipeable Table View Cell With Actions – Without Going Nuts With Scroll Views
How To Make A Swipeable Table View Cell With Actions – Without Going Nuts With Scroll Views Ellen S ...
- 制作一个可以滑动操作的 Table View Cell
本文转载至 https://github.com/nixzhu/dev-blog Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单 ...
- 优化Table View
优化Table View Table view需要有很好的滚动性能,不然用户会在滚动过程中发现动画的瑕疵. 为了保证table view平滑滚动,确保你采取了以下的措施: 正确使用`reuseIden ...
- Creating a Table View Programmatically
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/Cre ...
- sql: table,view,function, procedure created MS_Description in sql server
--添加描述 geovindu --https://msdn.microsoft.com/en-us/library/ms180047.aspx --https://msdn.microsoft.co ...
- iOS 利用长按手势移动 Table View Cells
本文译自:Cookbook: Moving Table View Cells with a Long Press Gesture 目录: 你需要什么? 如何做? 如何将其利用至UICollection ...
- iOS学习之Table View的简单使用
Table View简单描述: 在iPhone和其他iOS的很多程序中都会看到Table View的出现,除了一般的表格资料展示之外,设置的属性资料往往也用到Table View,Table View ...
随机推荐
- C#学习笔记(八)——定义类的成员
一.成员的定义 1.定义字段 class Myclass { public int MyInt; } 可以使用readonly关键字,表示这个字段只能在执行构造函数的过程中赋值,或者由初始化语句赋值. ...
- Android下拉上滑显示与隐藏Toolbar另一种实现
public abstract class RecyclerViewScrollListener extends RecyclerView.OnScrollListener { private sta ...
- Centos升级内核 --已验证
Docekr 对内核由要求,3.10以上 Centos 6.5内核达不到要求 [linux@localhost Desktop]$ sudo service docker statusdocker d ...
- sql按天分组
sql按天分组,这都不会 晕!!!!!!! ) ;
- tiledmap2
1 1.1 将tiledmap 保存为xml格式 1.2 在unity当中设置摄像机为"Orthogonal", 1.3 拖拽tiledmap prefab从project视图到H ...
- C#多线程与异步的区别
随着拥有多个硬线程CPU(超线程.双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论.本文主要是想与园中各位高手一同探讨一下如何使用并发来最大化程序的性能. 多线程和异步操作的异 ...
- 从一个action地址获取信息
get方法 String url_str ="http://127.0.0.1:8400/lxyyProduct/getProductUserNeedUpdate.action?ts=&qu ...
- TYVJ P1090 母舰 Label:模拟,题目看清就好
背景 广东汕头聿怀初中 Train#3 Problem 1 描述 在小A的星际大战游戏中,一艘强力的母舰往往决定了一场战争的胜负.一艘母舰的攻击力是普通的MA(Mobile Armor)无法比较的.对 ...
- BZOJ3924 [Zjoi2015]幻想乡战略游戏
Description 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来, ...
- Spring_讲解
http://s,i,s,h,u,o,k.com/forum/blogPost/list/6174.html