![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 65
hanruikai
aaa
展开
-
我们为什么采用TiDB代替MySQL
背景我们的系统最初采用mysql作为后台数据库,随着数据量的增加,采用业界主流的分库分表方案。但是,随之而来的问题是,增加了应用的复杂度,不利于多维度的数据查询,性能将来也面临挑战。所以,我们考虑采用TiDB,因为Tidb是分布式数据库,支持二级索引,能够解决多维度查询问题,并且性能很强。本文,我会介绍我们为什么选择tidb和我们的业务场景,以及tidb如何解决我们的 问题。为什么是TiDB最初,我们采用mysql作为后端数据库,随着数据量剧增,我们采用分库分表的方案,但是分库分表的方案原创 2021-03-08 11:20:48 · 4373 阅读 · 2 评论 -
MySQL在实际应用中的规范(表定义、SQL、索引等)
统一规范存储引擎: 请统一使用innodb存储引擎,特殊的数据库引擎必须通过DBA的评审。字符集: 统一使用utf8字符集。这个要从应用程序、服务器、数据库的表、字段等全部统一起来。注意:MySQL中的utf8mb4字符集,才是真正的utf8,请用这个。作用范围:不要在MySQL存储大对象,比如图片、音乐等;不要用MySQL做Gis运算、全文检索;不使用存储过程、触发器、函数、外键,避免破坏数据库的性能和扩展性。使用上限:每个MySQL实例,数据库不要超过50个; 单数据库容量,...原创 2021-02-25 16:20:48 · 460 阅读 · 0 评论 -
Mysql覆盖索引与回表查询
1.什么是覆盖索引和回表查询首先,我们看看mysql的索引类型,mysql包括两种索引类型,聚集索引和非聚集索引:聚集索引(主键索引): 聚集索引就是按照每张表的主键构造一颗B+树,同时叶子节点中存放的即为整张表的记录数据。 聚集索引的叶子节点称为数据页,聚集索引的这个特性决定了索引组织表中的数据也是索引的一部分。辅助索引(二级索引): 非主键索引,叶子节点=键值+书签。Innodb存储引擎的书签就是相应行数据的主键索引值。...原创 2020-12-10 17:20:03 · 1063 阅读 · 0 评论 -
数据库中间件mycat测试之二
完整文章下载地址:http://download.csdn.net/detail/dreamcode/9383516 简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中的某些行切分到一个数据库,而另外的某些行切分到其他的数据库中,其中选择合适的切分规则至关重要,因为它决定了后续数据聚合的难易程度。 有几种典型的分片规则包括: (1)按照用户主键ID求模,将数据分散到不同的数据库...转载 2017-11-15 17:43:55 · 315 阅读 · 0 评论 -
为什么引入数据库中间件
1. 为什么当业务量,数据量日益增加时,传统的单个数据库无法承载系统的性能,这个时候就需要分库分表。如果分库分表,传统的读写分离架构能减轻系统负担,但是每个DB都是数据的全集,而且无法从根本上解析系统写的性能瓶颈。所以我们引入数据库中间件如果执行sql select * from tablename where id=1, 则会路由到DB1 进行查询。2. 常见数据库中间件...原创 2017-11-15 17:42:25 · 1272 阅读 · 0 评论 -
Mysql VS Postgresql
1. 事务性1. Postgresql 实现了读已提交(默认),可重复读,可串行化,没有实现读未提交 Mysql 实现了读未提交,读已提交,可重复读(默认),可串行化四个隔离级别2. MySQL 在REPEATABLE READ隔离级别下,普通的select语句是看不到在事务启动之后已经提交的数据,但select for update却能看到,也就是说普原创 2017-11-14 11:20:29 · 327 阅读 · 0 评论 -
数据库事务隔离级别测试-postgresql
1. read-committed (default 级别)客户端A:epmdb=> start transaction ;START TRANSACTIONepmdb=> update t1.dbversion set value =1200 where dbversionid=1;UPDATE 1epmdb=> 客户端B:epmdb=> start原创 2017-11-10 17:04:22 · 1703 阅读 · 0 评论 -
mysql-innodb-undo和redo
- 用Undo Log实现原子性和持久化的事务的简化过程 假设有A、B两个数据,值分别为1,2。 A.事务开始. B.记录A=1到undo log. C.修改A=3. D.记录B=2到undo log. E.修改B=4. F.将undo log写到磁盘。 G.将数据写到磁盘。 H.事务提交 这里有一个隐含的前提条件:‘数据都是先读到内存中转载 2013-08-27 16:40:29 · 439 阅读 · 0 评论 -
mysql服务器的主从配置
mysql服务器的主从配置,这样可以实现读写分离,也可以在主库挂掉后从备用库中恢复需要两台机器,安装mysql,两台机器要在相通的局域网内主机A: 192.168.1.100从机B:192.168.1.101可以有多台从机1、先登录主机 Amysql>GRANT REPLICATION SLAVE ON *.* TO ‘backup’@’192.16转载 2013-05-15 14:22:22 · 536 阅读 · 0 评论 -
Mysqlbinlog 使用
引自http://www.cnblogs.com/Athrun/archive/2011/08/03/2125814.htm 一,什么是增量备份增量备份,就是将新增加的数据进行备份。假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据。这样减少服务器的负担。二,启转载 2013-05-15 15:23:23 · 843 阅读 · 0 评论 -
mysql bin log 分析
1、mysql现状mysql> show binary logs;+------------------+-----------+| Log_name | File_size |+------------------+-----------+| mysql-bin.000010 | 38735504 || mysql-bin.000011 | 38原创 2013-05-15 15:20:39 · 1930 阅读 · 0 评论 -
MySQL-Cluster架构图文详解
这是我第一次接触Linux,CentOS, MySQL,用了5天的时间终于将基于CentOS5.0系统下MySQL-Cluster架构成功,下面将我这些经验分享给大家。若发现有什么错误和疏忽之处,请发邮件给我:stan_home@qq.com。(PDF图文版请下载,地址:http://download.csdn.net/source/3365704)配置之前,先补充一些Linux常用命转载 2013-04-03 13:43:00 · 663 阅读 · 0 评论 -
经典SQL语句大全
一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server---创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNw转载 2012-08-17 15:24:52 · 661 阅读 · 0 评论 -
MySQL常用的存储引擎
MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些转载 2012-04-13 15:41:07 · 3998 阅读 · 0 评论 -
详解MySQL数据库提升性能的八种方法
http://database.51cto.com/art/200903/117293.htm1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增转载 2012-04-13 15:35:26 · 644 阅读 · 0 评论 -
Mysql物化视图应用
1、基本api //第一步:创建物化视图 call flexviews.CREATE('demo', 'mv_company_sales_items_monthly', 'INCREMENTAL' );----------数据库、视图名称、刷新类型(原创 2012-03-13 16:34:51 · 7106 阅读 · 0 评论 -
MySQL索引分析和优化
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。转载 2012-03-12 10:43:54 · 519 阅读 · 0 评论