
mysql
零度anngle
情商不是八面玲珑的圆滑,而是德行具足后的虚心、包容和自信;成熟不是单纯到复杂的世故,而是复杂回归简单的超然;觉悟不是对世事的无所谓,而是对无能为力之事的坦然接受;成功不是追求别人眼中的最好,而是把自己能做的事情做得最好。热爱生活,热爱编程,热爱Java,喜欢探索,纸上得来终觉浅,绝知此事要躬行,愿与你一起在技术的海洋中成长!
博客:http://blog.csdn.net/zmx729618
展开
-
MySQL日期数据类型、时间类型使用总结
MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- ----------------------- --------------------转载 2016-09-29 11:16:29 · 444 阅读 · 0 评论 -
mysql线程池问题
问题分析:没有引入thread pool前,MySQL使用的是one thread per connection,一旦connection增加到一定程度,MySQL的性能将急剧下降甚至被压跨。引入thread pool后将会解决上述问题,同时会减少MySQL内部的线程数(节省内存)及频繁创建线程的开销(节省cpu)。thread pool是如何工作的呢?在MySQL转载 2017-03-02 14:55:16 · 893 阅读 · 0 评论 -
数据切分-Mysql分区表的建立及性能分析
MySQL的安装方法参考 http://blog.csdn.net/jhq0113/article/details/43812895 Mysql分区表的介绍 定义: 表的分区指根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分。实际上,表的不同部分在不同的位置被存储为单独的表。用户所选择的、实现数据分割的规则被转载 2017-03-20 16:50:51 · 762 阅读 · 0 评论 -
MySQL分库分表总结参考
单库单表单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用MySQL, 还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,期间所有的转载 2017-03-28 14:55:29 · 532 阅读 · 0 评论 -
数据库ACID、隔离级别与MVCC
首先需要明确事务的概念:一组原子性的SQL查询,如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组语句,否则所有语句都不执行。事务有ACID四个特性,即:原子性:一个事务是一个不可分割的最小工作单元,其操作要么全部成功,要么全部失败;一致性:数据库总是从一个一致性状态转换为另一个一致性状态。所谓一致性状态,就是数据库的所有完整性约束(尤其注意用户定义约束转载 2017-04-01 11:07:08 · 898 阅读 · 0 评论 -
MySQL主从同步(binlog方式)与主从切换
1 主从同步配置1、部署环境: 机器A:192.168.2.63(主) 机器B:192.168.2.94(从) MySQL:5.6.*以上 2、主(master)配置: 修改mysql安装目录下my.ini配置文件log_bin=mysql-bin-1 #文件名mysql-bin-1server_id=1 #服务ID,用于转载 2017-04-20 15:19:49 · 4063 阅读 · 0 评论 -
MySQL主从同步(GTID方式)
这是一种最简单的主从同步复制方式,添加一台新的MySQL服务作为slave服务,并在此服务上回放master上所有的事务,当slave服务启动后,会去读取master上全部的binary log,这种方式简单快捷,但是需要耗费时间。1、master服务设为只读如果已经配置了主从同步并且正在运行,先将master所有服务设为只读,然后确保slave上所有服务已经将数据同步更新转载 2017-04-20 16:04:24 · 1193 阅读 · 0 评论 -
Mysql主从复制、多主多从配置
目录:1. MySQL复制原理2. mysql一主多从3. mysql 双主4. mysql 读写分离5. mysql + keepalived高可用6. mysql 监控7. mysql 参数详解8. mysql 监控9. mysql replication 常见错误及处理方法 实验环境说明 :10.0.0.转载 2017-05-26 10:22:35 · 2133 阅读 · 0 评论 -
MySQL事务隔离级别详解
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt转载 2017-05-19 11:19:14 · 400 阅读 · 0 评论 -
mysql中的共享锁与排他锁
在 MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是MySQL中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁及排他锁的概念、使用方式及注意事项等。共享锁(Share Lock)共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。转载 2017-05-19 13:55:00 · 716 阅读 · 0 评论 -
mysql的各种存储引擎使用及介绍
前言 在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下,存储引擎?什么是存储引擎?什么是存储引擎? 关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的转载 2017-05-19 14:00:35 · 521 阅读 · 0 评论 -
flickr的全局主键生成方案
假设我们用户分库有 Shop_1/2/3/4 … 那么全局uid怎样生成?我们一般的做法是用一张索引表 Shop_share.user_index 取其自增主键,insert_id 便是uid。但缺点是,有单点负载的风险。 flickr提供了一个扩展的更好的方案: 他们把 user_index 抽出一个专门用作生成 uid 的表,例如取名叫 uid_sequence,并拆成转载 2017-09-08 09:51:05 · 650 阅读 · 0 评论 -
MySql数据库导出csv文件
MySql数据库导出csv文件命令:mysql> select first_name,last_name,email from account into outfile 'e://output1.csv' fields terminated by ',' optionally enclosed by '' lines terminated by '/n';csv文件效果:转载 2017-09-08 11:27:14 · 2892 阅读 · 0 评论 -
Mysql支持的索引简介
一、从数据结构角度1、B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后的数据结构及算法原理2、hash索引: a 仅仅能满足"=","IN"和""查询,不能使用范围查询 b 其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以Hash 索引的查询效转载 2017-03-02 14:23:42 · 580 阅读 · 0 评论 -
mysql中order by优化的那些事儿
为了测试方便和直观,我们需要先创建一张测试表并插入一些数据:CREATE TABLE `shop` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '记录ID', `shop_id` int(11) NOT NULL COMMENT '商店ID', `goods_id` int(11) NOT NULL COMMENT '物品ID',转载 2017-03-01 10:14:17 · 595 阅读 · 0 评论 -
Mysql使用索引可能失效的场景
1.WHERE字句的查询条件里有不等于号(WHERE column!=…),MYSQL将无法使用索引2.类似地,如果WHERE字句的查询条件里使用了函数(如:WHERE DAY(column)=…),MYSQL将无法使用索引3.在JOIN操作中(需要从多个数据表提取数据时),MYSQL只有在主键和外键的数据类型相同时才能使用索引,否则即使建立了索引也不会使用4.如果WHER转载 2016-09-29 14:04:28 · 13645 阅读 · 4 评论 -
mysql单列索引、多列索引的使用
数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度。索引优化是数据库优化的最重要手段。 如果查询语句使用索引(通常是where条件匹配索引)就会利用树的结构加快查找,索引会按值查找到要查找的行在表中位置,不需回表查询数据的就是聚簇索引(索引和数据存放在一起)。通常是需要回表再查转载 2016-09-29 14:21:51 · 24677 阅读 · 2 评论 -
mysql(for update)悲观锁总结与实践
悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。 使用场景举例:以MySQL InnoDB为例, 商品goo转载 2016-09-29 15:02:12 · 20557 阅读 · 3 评论 -
mysql乐观锁总结与实践
上一篇文章谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的是乐观锁,乐观锁( Optimistic Locking ) 相对转载 2016-09-29 15:16:40 · 505 阅读 · 0 评论 -
MySQL函数总结
一、数学函数求绝对值函数abs()select fweight-50,abs(fweight-50),abs(-5.23) from t_person;求指数函数power()select fweight,power(fweight,-0.5),power(fweight,2),power(fweight,3),power(fweight,4) from t_perso转载 2016-09-29 16:01:09 · 440 阅读 · 0 评论 -
MySQL的InnoDB和MyISAM区别
功能MyISAMInnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。 基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限转载 2016-09-29 16:09:11 · 356 阅读 · 0 评论 -
Mysql order by语句未使用索引的思考
今天早上查看网站,发现非常慢!进linux 用top查看,发现MySQL cpu到了100%。开始怀疑是mysql性能的问题,不会10万条数据就卡成这样吧?虽然我的linux是在服务器上放了个虚拟机,但也不至于10万条记录挂啊? 网上找了一大把文章,my.cnf也设置了,我虚拟机内存是2G,将key_buf设置成512M 还是卡。非常郁闷! 最后没办法,只能用explain来找原转载 2016-09-29 16:30:51 · 8235 阅读 · 3 评论 -
mysql并发控制与InnoDB锁问题
InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。下面我们先介绍一点背景知识,然后详细讨论InnoDB的锁问题。一、背景知识1.事务(Transaction)及其ACID属性 事务是由一组SQ语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的A转载 2016-09-29 17:26:52 · 504 阅读 · 0 评论 -
mysql 主从同步配置
先讲讲数据库的主从同步,两个好处: 一是读写分离可以用上。比如 写操作就写到主数据库,读就从从数据库读取 二是纯粹给数据库备份,以防硬盘彻底崩了主从数据库操作准备: 两台电脑,都安装好mysql 5.5及以上版本,最好两台电脑都安装同一版本数据库,且能单独正常使用。记住两台电脑的ip地址: 主数据库:192.168.0.102 从转载 2016-10-26 10:52:13 · 409 阅读 · 0 评论 -
MySQL详解-锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL转载 2017-01-06 15:14:59 · 558 阅读 · 0 评论 -
MySQL事务隔离级别详解及示例验证演示
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt转载 2017-01-06 15:25:14 · 2498 阅读 · 1 评论 -
MySql的一些使用心得
主键索引MySQL会以主键的?方式构造?一棵树,叶?子节点存放该主键对应的整?行数据辅助索引辅助索引的树,叶?子节点存放两个东?西,?一个是索引?自?身的值,另外?一个是索引对应主键的值;!联合索引,比如col1和col2的联合索引,索引叶?子节点会存储col1和col2之间的配对+主键的配对数据;MyISAM索引MyISAM引擎使?用B+Tree作为索引结构,转载 2017-03-01 09:38:55 · 353 阅读 · 0 评论 -
MySQL之权限管理(mysql.user表详解)
mysql.user表中Host为%的含义 Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接转载 2017-09-19 09:43:57 · 55684 阅读 · 1 评论