
数据库--MySQL
文章平均质量分 74
yjc0403
这个作者很懒,什么都没留下…
展开
-
MySQL的默认数据库
MySQL的认识 默认数据库有哪些:1. information_schema2. mysql3. test4. ewsdoa_schema5. performance_schema information_schema 保存了MySQl服务所有数据库的信息。具体MySQL服务有多少个数据库,各个数据库有哪些表,各个表中的字段是什么数据类型...原创 2016-10-13 19:41:44 · 622 阅读 · 0 评论 -
MySQL分表
MySQL分表 为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 根据个人经验,mysql执行一个sql的过程如下:接收到sql;把sql放到排队队列中 ;执行sql;返回执行结果。 在这个执行过程中最花...原创 2016-11-17 07:29:16 · 178 阅读 · 0 评论 -
业务分库,垂直拆分,水平拆分
业务分库,垂直拆分,水平拆分 常见的分库方式有水平性和垂直性。一般来说,就是按照用户属性(地市或者ID的hash)进行分库,或者按照业务功能块进行分库。 水平分库方式:根据用户属性(如地市)拆分物理数据库。一种常见的方式是将全省划分为几个大区。 垂直分库方式:根据业务维度和数据的访问量等,进行数据的分离,剥离为多个数据库。例如,将一些公用的配置信息存储到一个数据库中进行单独维护。...原创 2016-11-17 23:22:58 · 600 阅读 · 0 评论 -
MySQL内存表与临时表
MySQL内存表与临时表 内存表 session 1$ mysql -urootroot@(none) 10:05:06>use testDatabase changedroot@test 10:06:06>CREATE TABLE tmp_memory (i INT) ENGINE = MEMORY;Query OK, 0 rows affec...原创 2016-11-19 00:08:50 · 106 阅读 · 0 评论 -
MySQL Drop 大表解决方案
一般我们遇到的数据量十几G已经很多了,如果有几百G或者几T的数据,可能就要考虑下面的解决方法:https://dbarobin.com/2015/01/15/solution-of-droping-large-table-under-mysql/...原创 2016-11-22 11:03:11 · 354 阅读 · 0 评论 -
MySQL主从数据库原理及实现
MySQL主从数据库原理及实现 MySQL的主从同步架构是当前比较流行的一种数据库架构,利用MySQL的主从配置,可以实现读写分离,减轻主数据库的访问压力,提升网站性能。 主从原理: 1. Master记录二进制日志,在每个事务更新数据完成之前,master在二日志记录这些改变。MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二...原创 2016-11-24 22:06:51 · 481 阅读 · 0 评论 -
Mysql性能优化3
Mysql性能优化3 首先可以学习下这篇文章http://www.cnblogs.com/luxiaoxun/p/4694144.html 下面是我的思路 MySQL优化,要从下面几个方面考虑: 性能:也就是提高查询速度易维护性:考虑某些设计会增加维护难度安全性:通过超时时间和限流,对MySQL起到保护的效果可用性:主从、集群...原创 2016-11-28 23:31:07 · 89 阅读 · 0 评论 -
MySQL + keepalive 双主热备
MySQL + keepalive 双主热备 keepalive工作原理:本文先配置了一个双master环境,互为主从,然后通过Keepalive配置了一个虚拟IP,客户端通过虚拟IP连接master1,当master1宕机,自动切换到master2。一次只能连接其中一个master进行读写,所以是active-passive模式。 参考:http://blog.csdn...原创 2016-11-28 23:59:15 · 709 阅读 · 0 评论 -
数据库事务及MySQL InnoDB 事务
数据库事务及MySQL InnoDB 事务 事务的四个特性1. 原子性:要不全做,要不全不做2. 一致性:数据库从一种状态转变为下一种一致的状态3. 隔离性:一个事务的执行不会被另一个事务干扰4. 持久性:事务一旦提交,结果就会被持久化到数据库 事务的实现1. 隔离性通过Mysql InnoDB锁就可以实现,2. 原子性、一致性、持久性通过数据库的...原创 2016-12-01 20:34:38 · 108 阅读 · 0 评论 -
MySQL的20+最佳实践
MySQL的20+最佳实践 1. 优化查询的查询缓存 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 MySQL的查询缓存对这个函数不起作用。所以,像 NOW() 和 R...原创 2016-12-05 15:14:47 · 116 阅读 · 0 评论 -
MySQL-- SQL优化经过
MySQL-- SQL优化经过 背景:有一个SQL如下SELECT ut.* FROM user_transaction ut WHERE tx_type IN (1, 4, 8) AND tx_status = 1 AND share_public = 1 AND user_id != 103 AND (peer_user_id IS NULL OR peer...原创 2017-07-07 18:50:51 · 122 阅读 · 0 评论 -
MySQL分区
MySQL表分区 什么是表分区 所有数据还在一个表中,但物理存储根据一定的规则放在不同的文件中。mysql5.1开始支持数据表分区了。如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。 为什么要对表进行分区 为了改善大型表以及具有各种访问模式的表的可伸缩性,可管...原创 2016-11-14 00:44:36 · 99 阅读 · 0 评论 -
MySQL性能优化2
MySQL性能优化2 要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。 根据系统情况,选择硬件优化方向 典型OLTP应用系统 这类系统最难维护,最难优化,对主机整体性能要求也是最高的。因为不仅访问量很高,数据量也不小。 虽然系统总体数据量较大,但是系统活跃数据在...原创 2016-11-10 07:35:47 · 131 阅读 · 0 评论 -
数据树形结构设计
有一次面试被问到数据库的树形结构,当时有点蒙蔽,还是自己学艺不精吧,找到一些网上的资料。 http://blog.youkuaiyun.com/tiantiandjava/article/details/45390859https://my.oschina.net/XYleung/blog/99604 首先,数据库不一定要用传统的关系型数据库,因为传统关系库有一些很难做到或者做起...原创 2016-11-04 01:04:18 · 157 阅读 · 0 评论 -
面对大数据量的优化
面对大数据量的优化 0. mysql基础http://youyu4.iteye.com/admin/blogs/2330441http://youyu4.iteye.com/admin/blogs/2333291 1. 优化sql和索引优化sql:http://youyu4.iteye.com/admin/blogs/2331378优化索引:http:/...原创 2016-10-17 19:39:04 · 170 阅读 · 0 评论 -
优化SQL查询
优化SQl查询 目标 1. 减少IO次数数据库操作中90%的数据消耗都在IO,所以减少IO次数是最先考虑的。 2. 降低CPU计算order by,group by,distinct,对CPU消耗都比较大 误区 1. count(1), count(primary_key)比count(*)好对于有些场景,这样做可能性能会更差,应为数据...原创 2016-10-18 16:14:31 · 106 阅读 · 0 评论 -
索引细节
索引细节 什么是索引索引就是加快检索表中数据的方法,就是为了不想扫描整个表。 索引的优点 1. 大大加快查找数据的速度2. 建立唯一索引,保证数据表中每一行数据唯一性3. 进行分组和排序检索时,可以明显地减少时间 索引的缺点 1. 降低增删改的速度2. 创建和维护索引,需要消耗我们的维护时间3. 索引还是需要占用到一定的物...原创 2016-10-19 19:40:48 · 129 阅读 · 0 评论 -
MySQL索引原理
MySQL索引原理 索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 一个索引的例子: 图1展示了一种可能的索引方式。左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的)。为了加快Col2的查找,...原创 2016-10-20 14:57:07 · 139 阅读 · 0 评论 -
MySQL存储引擎详细了解
MySQL存储引擎选择合适的存储引擎,对数据库设计有很大帮助,例如怎样的场景用什么存储引擎更加合适。 MyISAM 特点 不支持事务支持全文索引主键索引和二级索引完全一样都是B+树的数据结构,只有是否唯一的区别数据文件和索引文件分开存储在MyISAM存储引擎下创建表,会创建如下三个文件:tb_demo.frm,存储表定义;tb_d...原创 2016-10-24 23:13:09 · 176 阅读 · 0 评论 -
InnoDB和MyISAM的区别
InnoDB和MyISAM的区别 1. 存储结构MyISAM:索引和数据的文件分开存储,每个MyISAM在磁盘上存储成三个文件。InnoDB:索引和数据绑在一起,所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。 2. 存储空间MyISAM:可以压缩,存储空间小。静态表、动态表...原创 2016-10-25 16:41:50 · 102 阅读 · 0 评论 -
MySQL配置文件
MySQL配置文件在Windows下是my.ini,而在Linux下是my.cnf。 基本参数 port=3306 #端口号 server-id=1 basedir="C:/Program Files/MySQL/MySQL Server 5.5/" #基准路径,其他路径都相对于这个路径 datadir="C:/Program Files/M...原创 2016-10-26 15:28:24 · 102 阅读 · 0 评论 -
MySQL缓存机制
MySQL缓存机制 定义 缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql。如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空。更改指的是表中任何数据或是结构的改变,包括INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE...原创 2016-10-31 19:09:12 · 185 阅读 · 0 评论 -
MySQL性能优化
MySQL性能优化 1. 为查询加缓存 多次相同的查询,可以直接从缓存中取出来,加快查询速度。详细可以看:http://youyu4.iteye.com/admin/blogs/2334053 2. explain你的select查询 使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL语句的。这可以帮你分析你的查询语句或是表结构的性...原创 2016-11-01 15:51:31 · 94 阅读 · 0 评论 -
MySQL日志
MySQL日志 有多少种日志 错误日志:记录出错信息,也记录一些警告信息或者正确的信息慢查询日志:设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询的日志文件中二进制日志:记录对数据库执行更改的所有操作查询日志:记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行中继日志: 错误日志 在默认情况下,系统记录错误日志的功能...原创 2016-11-02 15:30:30 · 96 阅读 · 0 评论 -
MySQL集群 -- NDB Cluster
MySQL集群 -- NDB Cluster MySQL集群的表使用的引擎是ndbcluster,简称ndb。它的意思是: "网络数据库".NDB(也叫NDB Cluster或者NDBCLUSTER),使用它才能让MySQL支持集群。 要想获得MySQL Cluster 的功能,必须安装 mysql-server 和 mysql-max RPM内存数据库由多个节点...原创 2017-02-15 11:58:21 · 464 阅读 · 0 评论