阿里云分布式关系数据库DRDS笔记
1.Join左边的表查询数据越少,性能越好
SELECT *
FROM t_order o
WHERE o.id IN (
SELECT id
FROM t_order
ORDER BY id
LIMIT 10000,2 )
SQL的ORDER BY 优化
select buyer_id,
count(*) as maxSize
from t_trade
group by buyer_id
order by maxSize desc
limit 1
在 INSERT / REPLACE 语句中必须包含分库分表的字段(拆分键)
INSERT INTO table VALUES (‘name1’, ‘value2’)
报错
INSERT INTO table (id, name, value) VALUES (1, ‘name1’, ‘value2’)
允许执行
SELECT / UPDATE / DELETE 语句如果 WHERE条件中没有包含拆分字段,或者带的拆分字段不全,会进行全表扫描
SELECT * FROM table WHERE id = 1 AND date > 3;
进行路由计算
SELECT * FROM table WHERE id = 1;
需要进行全表扫描
SELECT / UPDATE / DELETE 语句如果在 WHERE 条件中带有全部拆分字段,——则拆分字段之间的逻辑关系一定是AND, 不支持OR; 对于同一个拆分字段的条件组合,用 AND 或者 OR 都是支持的。
SELECT * FROM table WHERE id = 1 AND date > ‘2014/1/30’;
AND ——正确组合。
SELECT * FROM table WHERE id = 1 OR date > ‘2014/1/30’;
OR ——错误组合
SELECT * FROM table WHERE id > 1 AND date > ‘2014/1/30’ AND date < ‘2014/3/1’;
AND ——正确组合
SELECT * FROM table WHERE id > 1 AND date < ‘2014/2/1’ OR date > ‘2014/2/28’;
AND ——正确组合。date 字段的条件组合是 OR
同一个拆分字段,AND 连接的条件个数只能为2,OR 连接的条件个数不限。
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/3/1’;
正确,date 字段 AND 连接的条件个数是 2。
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/3/1’ AND date < ‘2014/2/28’;
错误,date 字段 AND 连接的条件个数是 3
同一个拆分字段的条件可以包含多个值,但每个值只能对应一种比较关系。
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/3/1’;
正确,date 字段两个条件的值分别是 ‘2014/1/30’ 和 ‘2014/3/1’。
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/1/30’
错误,date 字段的条件值 ‘2014/1/30’ 同时对应了大于和小于关系。
切分方案
阿里云分布式关系数据库DRDS笔记的更多相关文章
- Typora+PicGo+阿里云写博客笔记
Typora+PicGo+阿里云写博客笔记 选择这三个工具的理由 我一直有在使用typora使用mardown写作,毕竟typora很香,可以实时预览,非常丝滑. 配合上PicGo这个图床工具简直绝了 ...
- .net core 使用阿里云分布式日志
前言 好久没有出来夸白了,今天教大家简单的使用阿里云分布式日志,来存储日志,没有阿里云账号的,可以免费注册一个 开通阿里云分布式日志(有一定的免费额度,个人测试学习完全没问题的,香) 阿里云日志地址: ...
- 阿里云分布式缓存OCS与DB之间的数据一致性
[分布式系统的数据一致性问题] OCS概要介绍 据AlertSite网络分析公司表示,Facebook的响应时间在2010年平均为1秒钟,到2011年中期已提高到了0.73秒.对比来看,响应时间占 ...
- 阿里云CentOS部署小笔记
快毕业了,我用近两周的时间完成了一个nodeJs+Vue-Cli+Mysql的毕业设计,到了部署的时候了. 然而,博主使用Linux的经验有限得很,所以只能自己慢慢地填坑了. 一.准备工作 1)阿里云 ...
- 阿里云数据库配置学习笔记(二):下载并配置MySQL数据库
参考资料:阿里云官方文档 2018-02-20 一.MySQL数据库的下载 在Ubuntu环境下安装MySQL数据库十分简单 在命令行中输入 sudo apt-get update(更新软件源,预防出 ...
- 阿里云 RDS 与 DRDS 学习了解
RDS 主页:https://help.aliyun.com/document_detail/26092.html?spm=5176.7741872.6.539.4h8LSC DRDS 主页:http ...
- 阿里云上安装vsftp笔记
安装 ftp 1 ssh登录服务器 首先检查有没有安装运行 ps -ef |grep vsftpd 2 yum安装vsftpd yum安装 yum in ...
- 云时代的分布式数据库:阿里分布式数据库服务DRDS
发表于2015-07-15 21:47| 10943次阅读| 来源<程序员>杂志| 27 条评论| 作者王晶昱 <程序员>杂志数据库DRDS分布式沈询 摘要:伴随着系统性能.成 ...
- 跨时代的分布式数据库 – 阿里云DRDS详解(转)
原文章地址:https://www.csdn.net/article/a/2015-08-28/15827676 跨时代的分布式数据库 – 阿里云DRDS详解 发表于2015-08-28 18:39| ...
随机推荐
- [NHibernate]持久化类(Persistent Classes)
系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 引言 持久化类是应用程序用来解决商业问题的类(比如,在电子交易程序中的Customer和Orde ...
- tyvj1191 迎春舞会之三人组舞
背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞 描述 n个人选出3*m人,排成m组,每组3人. 站的队形——较矮的2个人站两侧,最高的站中间. 从对称学角度来欣赏, ...
- UI第九节——UIStepper
- (void)viewDidLoad { [super viewDidLoad]; // 实例化UIStepper,大小是固定的 UIStepper *stepper = ...
- 完整的PHP MYSQL数据库类
<?php class mysql { private $db_host; //数据库主机 private $db_user; //数据库用户名 private $db_ ...
- thinkphp一对多HAS_MANY
关联关系通常我们所说的关联关系包括下面三种:一对一关联 :ONE_TO_ONE,包括HAS_ONE 和 BELONGS_TO 一对多关联 :ONE_TO_MANY,包括HAS_MANY 和 BELON ...
- Oracle 查看某表 被哪些表外键引用
分2步骤: 1. select * from user_constraints e where e.table_name='xxx'; 2. select a.constraint_type,a.ta ...
- word20161214
MAC, Message Authentication Code / 消息验证代码 MAC address / MAC 地址 machine-centric / 机器中心的 Macintosh-acc ...
- xmind portable
portable : http://dl2.xmind.cn/xmind-7.5-update1-portable.zip
- go:defer
defer:延迟. 假设有调用函数A.被调用函数B,其关系如下: func A(){//调用函数 ... defer B()//被调用函数 ... return//B将延迟到return前执行 } * ...
- 全选、取消、2级 checkbox的选中切换
需求:点击父级checkbox的时候,子级出现全选或全取消:点击子级时,如:子级都是在未选中时,点击某一个子级,则父级选中:如:子级中只有一个选中状态(其他子级都是未选中),点击该子级,则父级也改为未 ...