数据库|mysql教程
MyBatis,Mysql,数据库
数据库-mysql教程前言
blkdevparts 源码,vscode 比对功能,ubuntu窗口,tomcat标签名,sqlite 删除表的语句,dede百度结构化数据提交插件,web前端开发框架培训班,爬虫类的日文名,php 银联接口,seo推广推荐发帖,手机端h5网站模板,html5静态网页模板,单页加盟网站模板lzw
作为一个数据库,作为数据库中的一张表,随着用户的增多随着时间的推移,总有一天,数据量会大到一个难以处理的地步。这时仅仅一张表的数据就已经超过了千万,无论是查询还是修改,对于它的操作都会很耗时,这时就需要进行数据库切分的操作了。
asp简单好用的站源码,ubuntu下串口工具,橙心优选爬虫,php assign,python 做seolzw
MyBatis实现分表最简单步骤
排名源码,vscode编写php代码需要哪些插件,ubuntu搜索隐藏文件,国产麒麟如何部署tomcat,sqlite数据命令,邢台网页设计制作,公司网站服务器租赁,门户 热点词汇 js插件,java前端框架,爬虫遇到空值,php博客园,邢台seo收录工具,面试说一说springboot,网站关键词提取工具,自动获取网页html代码,wordpress 模板 教程,css3页面转换,基于web的艺图会员管理系统 php源码,php 相册 程序lzw
既然文章的标题都这么写了,不如直接上干货来的比较实际,我们就先来看看如何实现最简单的分表。
1、我们模拟用户表数据量超过千万(虽然实际不太可能)
2、用户表原来的名字叫做user_tab
,我们切分为user_tab_0
和user_tab_1
(实际也可能不是这么随意的名字),这样就能把原来千万的数据分离成两个百万的数据量的两张表了。
3、如何操作这两张表呢?我们利用userId也就是用户的唯一标识进行区分。
4、userId%2 == 0
的用户操作表user_tab_0
,同理userId%2 == 1
的用户操作表user_tab_1
5、那么在MyBatis中sql语句如何实现呢?下面是举例查询一个用户的sql语句
SELECT userId, nameFROM user_tab_#{tabIndex}WHERE userId = #{userId}
其中我们传入了两个参数tabIndex和userId,tabIndex就是需要操作表的标示值(0或1),这样如果需要查询userId为5的用户,那么最终出现的sql语句就会是:
SELECT userId, name FROM user_tab_1 WHERE userId = 5
其他多余的DAO服务和实现我这里就不多展示了,相信聪明的你肯定会的。