文档章节

mysql存储过程循环分表

小啊小苹果儿
 小啊小苹果儿
发布于 2016/01/18 11:08
字数 275
阅读 199
收藏 8

当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。

mysql> DELIMITER $$

mysql> CREATE procedure wx_user_fans()

    -> BEGIN

    -> DECLARE `@i` int(11);

    -> DECLARE `@sqlstr` varchar(2560);

    -> SET `@i`=0;

    -> WHILE `@i` < 10 DO

    -> SET @sqlstr = CONCAT(

    -> "CREATE TABLE wx_user_fans_",`@i`,

    -> "( `id` int(11) NOT NULL AUTO_INCREMENT, `userid` int(11) DEFAULT '0', PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 "

    -> );

    -> prepare stmt from @sqlstr;

    -> execute stmt;

    ->

    -> SET `@i` = `@i` + 1;

    -> END WHILE;

    -> end $$

Query OK, 0 rows affected (0.00 sec)


mysql> DELIMITER ;

mysql> call wx_user_fans();

Query OK, 0 rows affected (0.13 sec)


mysql> drop procedure wx_user_fans;

Query OK, 0 rows affected (0.00 sec)


mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| admin          |

| files          |

| mytest         |

| tb_orderlist   |

| wx_user_fans_0 |

| wx_user_fans_1 |

| wx_user_fans_2 |

| wx_user_fans_3 |

| wx_user_fans_4 |

| wx_user_fans_5 |

| wx_user_fans_6 |

| wx_user_fans_7 |

| wx_user_fans_8 |

| wx_user_fans_9 |

| zcctest        |

+----------------+

15 rows in set (0.00 sec)


© 著作权归作者所有

小啊小苹果儿
粉丝 0
博文 2
码字总数 508
作品 0
武汉
程序员
私信 提问
MySQL数据库分享三

1. 视图 定义:视图(view)是一个虚拟表,视图中的内容是真实表数据的查询结果 本质:根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称可获取结果集,可以将该结果集当做表来...

岩哥_
2017/12/21
0
0
zabbix 一次惨痛的分区经历

问题 今天来到公司,像往常一样打开zabbix,突然发现没有数据被收集,于是快速检查了其他的图形,发现都没有数据,于是定位到了服务端的问题,检查日志发现:zabbix日志突然报查询history和h...

滕先生
2018/06/27
0
0
mysql —— 分表分区

面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗? 答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的 解决方案: 目前针对...

zyt_1978
2016/07/06
19
0
MySQL存储过程教程

在本节中,您将逐步学习如何在MySQL中开发存储过程。 首先,我们向您介绍存储过程概念,并讨论何时应该使用它。然后,我们向您演示如何使用过程代码的基本元素,例如:创建存储过程,if-else...

易百教程
2016/10/15
64
0
关于数据库的分库分表

什么是分库分表 从字面上简单理解,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。 为什么分库分表 当一张表的数据达到几千万时,你查询一...

壬癸甲乙
2016/03/02
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

我为什么要写微信公众号

埋一颗种子,细心呵护,静待她枝繁叶茂,葱郁参天 V2论坛上有个帖子【做程序员最重要的还是一定要有自己的作品】,作者写道: 能有一个作品和你的名字联系在一起,应当成为在职业生涯前期着意...

运维咖啡吧
13分钟前
0
0
数据库

数据库架构 数据库架构可以分为存储文件系统和程序实例两大块,而程序实例根据不同的功能又可以分为如下小模块。 1550644570798 索引模块 常见的问题有: 为什么要使用索引 什么样的信息能成...

一只小青蛙
今天
5
0
PHP常用经典算法实现

<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = int......

半缘修道半缘君丶
昨天
5
0
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

豌豆花下猫
昨天
6
0
git commit message form

commit message一般包括3部分:Header、Body、Footer。 <type>(<scope>):<subject>blank line<body>blank line<footer> header是必需的,body、footer可以省略。 header中type、subject......

ninjaFrog
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部