mysql高级应用
峰之流觞
这个作者很懒,什么都没留下…
展开
-
事务使用总结:
事务使用总结:MySQL事务主要用来处理数据量大、数据复杂度高的数据操作,最经典的使用场景是银行的转账:需要先从银行账户A中取出钱,然后再存入银行账户B中,如果中间出现问题,而没有事务的保证,那么就会出现B收不到钱,而A支出钱又回不到自己的账户的严重问题,那么有了事务机制,这个问题就解决了。(技术讨论群:276592700(新)) 事务的特点事务的ACID事务的锁定事务的隔转载 2017-07-03 00:09:45 · 239 阅读 · 0 评论 -
Mysql索引数据类型:HASH,BTREE,RTREE。
那么,这几种索引有什么功能和性能上的不同呢?HASHHash这个词,可以说,自打我们开始码的那一天起,就开始不停地见到和使用到了。其实,hash就是一种(key=>value)形式的键值对,如数学中的函数映射,允许多个key对应相同的value,但不允许一个key对应多个value。正是由于这个特性,hash很适合做索引,为某一列或几列建立hash索引,就会利用这一列或几列的值通过一定的算法...转载 2018-04-12 16:06:12 · 597 阅读 · 0 评论 -
Mysql重要配置参数的整理2
http://ssydxa219.iteye.com/category/209848下面开始优化下my.conf文件(这里的优化只是在mysql本身的优化,之前安装的时候也要有优化) cat /etc/my.cnf# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/ser...转载 2018-04-08 10:25:53 · 365 阅读 · 0 评论 -
深入理解bit_or和bit_and,bit_count
bit_or:二进制数按位或,bit_and:二进制数按位与,bit_count:统计二进制数1个个数下面以一个例子来说明用法:示例要实现的功能就是计算每月有几天有访问,先把示例摘录在这里。1234567-- 创建表CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, day INT(2) UNSIGN...原创 2018-04-07 14:15:12 · 9705 阅读 · 1 评论 -
MySQL:索引工作原理
为什么需要索引(Why is it needed)?当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Sear转载 2017-08-21 08:39:44 · 93 阅读 · 0 评论 -
mysql索引必须了解的几个重要问题
本文讲述了mysql索引必须了解的几个重要问题。分享给大家供大家参考,具体如下:1、索引是做什么的?索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据。大多数MySQL索引(PRIMARY KEY转载 2017-08-21 08:35:57 · 242 阅读 · 0 评论 -
MySQL集群搭建详解
概述MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达到99.999%。MySQL Cluster允许在无共享的系统中部署“内存中”数据库集群,通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和转载 2017-07-04 19:32:49 · 205 阅读 · 0 评论 -
Mysql分区分表的定义和区别以及实际使用
一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及实例 二,mysql分表和分区有什么区别呢 1,实现方式上 a),mysql的分表是真正的分原创 2017-07-04 17:23:29 · 321 阅读 · 0 评论 -
mysql分区分表详解
面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗?答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的 解决方案:目前针对海量数据的优化有两种方法:1、大表拆小表的方式(主要有分表和分区两者技术)(1)分表技术垂直分割优势:降低高转载 2017-07-04 17:27:11 · 323 阅读 · 0 评论 -
剖析Mysql的InnoDB索引
摘要: 本篇介绍下MySQL的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解转载 2017-07-03 21:20:06 · 289 阅读 · 0 评论 -
MySQL数据库优化经验详谈(服务器普通配置)
同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my- huge.cnf my-mediu转载 2017-07-03 21:12:30 · 385 阅读 · 0 评论 -
数据库常见死锁原因及处理
数据库是一个多用户使用的共享资源,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。 在数据库中有两种基本的锁...转载 2018-08-16 23:46:40 · 11252 阅读 · 2 评论