MySQL
风流 少年
我走的很慢,但从不后退!Not designed!
展开
-
MySQL性能优化(三):索引
简介索引类型主键索引(primary key):添加了主键就有了主键索引,可以在创建表的时候指定主键,也可以在创建成功之后再增加唯一索引(unique):添加了唯一约束就有了唯一索引普通索引(normal):一般是先建表,后面在创建索引,普通索引使用的最多全文索引(fulltext):主要针对文本段落等,全文索引只能应用MyISAM引擎空间索引(spatial): 使用较少,并且...原创 2018-07-16 14:37:22 · 3153 阅读 · 3 评论 -
Mycat快速入门(三): 全局序列号
一: 简介在实现分库分表的情况下,数据库自增主键已无法保证自增主键的全局唯一。为此,MyCat 提供了全局 sequence,并且提供了包含本地配置和数据库配置等多种实现方式。二: sequnceHandlerType序列号处理器类型,感觉“sequnce” 序列号是不是少了个e字母,应该是“sequence”0: 本地文件方式1: 数据库方式2: 本地时间戳方式3: 分布式ZK ...原创 2018-11-02 16:40:04 · 2375 阅读 · 0 评论 -
Mycat快速入门(四): 分片规则
一: 简介在数据切分处理中,特别是水平切分中,中间件最终要的两个处理过程就是数据的切分、数据的聚合。选择 合适的切分规则,至关重要,因为它决定了后续数据聚合的难易程度,甚至可以避免跨库的数据聚合处理。可以通过全局表,ER分片表,数据冗余来尽量来避免跨库多表连接join。二: 全局表所谓全局表就是该表在每个分片上都会存在,并且每个分片上的全局表的数据完全一致。在进行数据插入操作时,mycat...原创 2018-11-02 16:40:31 · 3919 阅读 · 1 评论 -
Mycat快速入门(二): Mycat分库分表案例
一:数据库准备CREATE DATABASE `db1` DEFAULT CHARACTER SET utf8mb4;CREATE DATABASE `db2` DEFAULT CHARACTER SET utf8mb4;CREATE DATABASE `db3` DEFAULT CHARACTER SET utf8mb4;二:Mycat配置mycat/conf/server.xml...原创 2018-11-02 16:39:24 · 4761 阅读 · 4 评论 -
Mycat快速入门(一): Mycat简介
一:Mycat简介Mycat是数据库分库分表的中间件,Mycat使用最多的两个功能是:读写分离和分库分表功能,支持全局表和E-R关系(这两个比较实用)。Mycat官网: http://www.mycat.io/Mycat权威指南:http://www.mycat.io/document/mycat-definitive-guide.pdfMycat实体书籍:《分布式数据库架构及企业实践——...原创 2018-11-02 16:37:40 · 8682 阅读 · 0 评论 -
Mycat快速入门(五): Mycat读写分离案例
一:mysql主从复制参考 Centos7安装MySQL5.7和主从复制配置二:Mycat配置schema.xml<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.d原创 2018-11-02 16:41:14 · 817 阅读 · 0 评论 -
MySQL性能优化(六):分区
一: 分区简介分区和水平分表功能类似,将一个大表的数据分割到多张小表中去,由于查询不需要全表扫描了,只需要扫描某些分区,所以分区能提高查询速度。水平分表需要用户预先手动显式创建出多张分表(如tbl_user0, tbl_user1, tbl_user2),在物理上实实在在的创建多张表,通过客户端代理(Sharding-JDBC等)或者中间件代理(Mycat等)来实现分表逻辑。分区是My...原创 2018-09-08 15:23:15 · 62500 阅读 · 23 评论 -
MySQL性能优化(二):优化数据库的设计
一:数据库的设计数据库的创建没有什么要说的,这里只想说一点关于数据库名的命名一般和项目的名称保持一致,不要随意的起名字。二:表的设计 数据库表的好坏是数据库设计的基础,而且一旦数据库表设计完毕并投入使用,将来再进行修改就比较麻烦,因此在进行数据库设计的时候一定要尽可能的考虑周到。1. 表名表的命名一般遵守 “业务名称 _ 表名“或者是“项目名_ 表名“的格式,对于业务名...原创 2018-07-15 16:14:08 · 5587 阅读 · 1 评论 -
MySQL性能优化(一):优化方式
一:简介MySQL性能优化是通过优化各个方面的,不但是优化SQL语句这一方面,通过各方面的优化,每个地方优化一些,这样整体性能就会提升很多。二:优化方式1. 优化数据库表的设计为什么数据库表的设计会影响性能?字段的数据类型:不同的数据类型的存储和检索方式不同,对应的性能也不同,所以说要合理的选用字段的数据类型数据类型的长度:数据库最终要写到磁盘上,所以字段的长度也会影响着磁...原创 2018-07-14 21:41:42 · 7358 阅读 · 1 评论 -
MySQL性能优化(七):其它优化
数据库配置优化mysql是一个高度定制化的数据库系统,提供了很多配置参数,一般都需要根据应用程序的特性和硬件情况对mysql做配置优化 my.iniport=3306查询缓存 query_cache_size=15M 内存是影响数据库性能的重要资源,也是mysql性能优化的一个重要方面, innodb_additional_mem_pool_size=64M innodb_bu...原创 2018-07-19 16:25:05 · 1675 阅读 · 0 评论 -
MySQL性能优化(五):分表
单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。 例如QQ,一般一个人有两个或者更多账号,整个中国QQ要有多上账号,可能有几十亿个账号分表的关键是找到分表的标准,即根据什么值进行分表。表名可以使用1、2、3等编号,对id去模 id%3 = 编号插入查询都要计算出来要操作的表名user0 user1 user2或者其他唯一的字段,如手机号,邮箱,日...原创 2018-07-17 16:44:57 · 24977 阅读 · 5 评论 -
MySQL性能优化(四):SQL优化
一:数据准备DROP TABLE IF EXISTS `tbl_user`;CREATE TABLE `tbl_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `email` varchar(20) DEFAULT NULL, `age` tinyint(4...原创 2018-07-16 15:30:52 · 4833 阅读 · 10 评论 -
Mycat快速入门(六): Mycat管理命令和监控
一:Mycat管理命令和监控Mycat可以通过终端来监控mycat的各项指标,端口为9066mysql -h127.0.0.1 -P9066 -uroot -proot123mysql> show @@help;+--------------------------------------------------------------+----------------------...原创 2018-11-11 17:17:13 · 3377 阅读 · 2 评论