阿里云分布式关系数据库DRDS笔记

1.Join左边的表查询数据越少,性能越好

2.广播表作为Join的驱动表

3.SQL的Limit优化

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’ 同时对应了大于和小于关系。
 

切分方案

一般对于name和id用hash,对日期用日期函数

时间: 2024-10-29 10:46:08

阿里云分布式关系数据库DRDS笔记的相关文章

阿里云分布式缓存OCS与DB之间的数据一致性

[分布式系统的数据一致性问题]   OCS概要介绍 据AlertSite网络分析公司表示,Facebook的响应时间在2010年平均为1秒钟,到2011年中期已提高到了0.73秒.对比来看,响应时间占第二位的LinkedIn,网络下载内容时要花费将近2倍的时间.Twitter的响应时间则整整迟了2秒钟.响应时间优化的首要手段就是采用缓存技术,减少系统间交互请求和磁盘IO. OCS是阿里巴巴集团的分布式缓存产品,支撑着淘宝.阿里巴巴.支付宝的日常运作,尤其在双11等大型活动上,承载了绝大多数的数据

阿里云CenterOS 增加虚拟空间笔记

阿里云服务器 对虚拟空间swap进行过限制 所以想要使用的朋友需要先进行一下设置 编辑/etc/rc.d/rc.local文件,将文件中的swapoff行注释或删掉.一般使用VI 就可以了 #swapoff -a 注:虚拟空间只有在内存完全使用或者在待机 系统将内存中的数据保留到虚拟内存中的时候会使用到 所以在设置的时候一般采用n:1或n:2的方式 太大了没有意义 好了 一下是整理好的设置详情 整理了一下 被日后用: 有一种可能是当时懒,没设置虚拟内存,查看虚拟内存的使用情况,# free,果然

阿里云CentOS部署小笔记

快毕业了,我用近两周的时间完成了一个nodeJs+Vue-Cli+Mysql的毕业设计,到了部署的时候了. 然而,博主使用Linux的经验有限得很,所以只能自己慢慢地填坑了. 一.准备工作 1)阿里云选购ECS主机,ECS主机一般都比较贵(相对于轻量级主机),由于阿里云的轻量级主机没有提供Node+Mysql的环境,只能忍痛去买自由度相对较大的ECS了 创建实例: 配置机型: 配置机型2: 选择网费扣费模式: 选择并配置登陆方式: 最后就是确认订单,然后修改下远程登陆的密码: 2)putty下载

阿里云 RDS 与 DRDS 学习了解

RDS 主页:https://help.aliyun.com/document_detail/26092.html?spm=5176.7741872.6.539.4h8LSC DRDS 主页:https://help.aliyun.com/document_detail/29659.html?spm=5176.doc50067.6.539.ZfuQkP RDS 是一个服务,提供存储服务,比如mysql的服务. DRDS 是一个中间件,就像我买了好多磁盘,但同时我需要一个比较好的文件系统 如 NT

阿里云免费服务器使用笔记(安装tomcat+jdk+mysql)

jdk-8u60-linux-x64.gz(部分内容来自http://my.oschina.net/u/173975/blog/298658)1.首先要查看服务器的系统版本,是32位还是64位 #cat /etc/issue x86_64是64位,如果还不确定,可以再换个命令 #getconf LONG_BIT 2.下载64位版本的jdk jdk-7u67-linux-x64.rpm http://www.oracle.com/technetwork/java/javase/downloads/

阿里云上安装vsftp笔记

安装 ftp 1 ssh登录服务器       首先检查有没有安装运行 ps -ef |grep vsftpd         2 yum安装vsftpd        yum安装    yum istall vsftpd -y 3 修改配置 .增加开机启动     vi /etc/vsftpd/vsftpd.conf         anonymous_enable=YES改成NO         保存退出     查看vsftpd又没有被设置为开机自启动         chkconfig

阿里云建博客笔记

1).数据库 使用 sh catalina.sh run可以看到tomcat的运行信息,而不是使用sh startup.sh. 2).centos DES的加解密方法里,SecureRandom 实现完全隨操作系统本身的內部狀態,除非調用方在調用 getInstance 方法之後又 調用了 setSeed 方法:该实现在 windows 上每次生成的 key 都相同,但是在 solaris 或部分linux 系统上则不同.

阿里云数据库如何使用阿里云代金券

MySQL 是全球最受欢迎的开源数据库之一,作为开源软件组合 LAMP(Linux + Apache + MySQL + Perl/PHP/Python)中的重要一环,广泛应用于各类应用场景.阿里云关系型数据库(Relational Database Service,简称RDS)是一种稳定可靠.可弹性伸缩的在线数据库服务.基于阿里云分布式文件系统和SSD盘高性能存储,RDS 支持 MySQL.SQL Server.PostgreSQL 和PPAS(Postgre Plus Advanced Se

云时代的分布式数据库:阿里分布式数据库服务DRDS

[http://www.csdn.net/article/2015-07-15/2825221] 云时代的分布式数据库:阿里分布式数据库服务DRDS -- 伴随着系统性能.成本及扩展性的新时代需要,以HBase.MongoDB为代表的NoSQL数据库和以阿里DRDS.VoltDB.ScaleBase为代表的分布式NewSQL数据库如雨后春笋般不断涌现出来.本文详细介绍了阿里分布式数据库服务DRDS.